当前位置:网站首页>[算法] 剑指offer2 golang 面试题6:排序数组中的两个数字之和
[算法] 剑指offer2 golang 面试题6:排序数组中的两个数字之和
2022-07-06 09:18:00 【邓嘉文Jarvan】
[算法] 剑指offer2 golang 面试题6:排序数组中的两个数字之和
题目1:
给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。
函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answer[0] < answer[1] < numbers.length 。
假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用两次。
示例 1:
输入:numbers = [1,2,4,6,10], target = 8
输出:[1,3]
解释:2 与 6 之和等于目标数 8 。因此 index1 = 1, index2 = 3 。
示例 2:
输入:numbers = [2,3,4], target = 6
输出:[0,2]
示例 3:
输入:numbers = [-1,0], target = -1
输出:[0,1]
提示:
2 <= numbers.length <= 3 * 104
-1000 <= numbers[i] <= 1000
numbers 按 递增顺序 排列
-1000 <= target <= 1000
仅存在一个有效答案
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/kLl5u1
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路1:
//思路1: 双指针
//left,right
//如果左边加右边小于target,left ++
//如果左边加右边大于target,right --
//相等返回 {left,right}
代码
func twoSum(numbers []int, target int) []int {
//思路1: 双指针
//left,right
//如果左边加右边小于target,left ++
//如果左边加右边大于target,right --
//相等返回 {left,right}
//参数处理
if len(numbers) < 2 {
return nil
}
//双指针
left,right := 0,len(numbers) - 1
for left < right{
tempTarget := numbers[left] + numbers[right]
if tempTarget == target {
return []int{
left,right}
}else if tempTarget < target {
left ++
}else if tempTarget > target {
right --
}
}
//没有找到返回空
return nil
}
测试

边栏推荐
- CUDA C programming authoritative guide Grossman Chapter 4 global memory
- Mixed use of fairygui button dynamics
- 单片机蓝牙无线烧录
- Unity3D制作注册登录界面,并实现场景跳转
- How to add music playback function to Arduino project
- Containers and Devops: container based Devops delivery pipeline
- Lean product development - Lean Software Development & lean product development
- MySQL時間、時區、自動填充0的問題
- Mysql database reports an error: row size too large (> 8126) Changing some columns to TEXT or BLOB or using ROW_ FORMAT=DY
- GNSS定位精度指标计算
猜你喜欢

(1) Introduction Guide to R language - the first step of data analysis

Fairygui joystick

Office提示您的许可证不是正版弹框解决

FairyGUI循环列表

FairyGUI增益BUFF数值改变的显示

第一人称视角的角色移动

数据库课程设计:高校教务管理系统(含代码)

The service robots that have been hyped by capital and the Winter Olympics are not just a flash in the pan

Derivation of logistic regression theory

使用rtknavi进行RT-PPP测试
随机推荐
Itext 7 生成PDF总结
Containers and Devops: container based Devops delivery pipeline
Matlab读取GNSS 观测值o文件代码示例
MySQL replacement field part content
Acwing-116 pilot brother
Unity3D摄像机,键盘控制前后左右上下移动,鼠标控制旋转、放缩
编译原理:源程序的预处理及词法分析程序的设计与实现(含代码)
[offer29] sorted circular linked list
Fairygui character status Popup
Design and implementation of general interface open platform - (39) simple and crude implementation of API services
ESP8266连接onenet(旧版MQTT方式)
FairyGUI增益BUFF数值改变的显示
【GNSS】抗差估计(稳健估计)原理及程序实现
Mixed use of fairygui button dynamics
Game 280 weekly
SVN更新后不出现红色感叹号
数据库课程设计:高校教务管理系统(含代码)
MySQL時間、時區、自動填充0的問題
(四)R语言的数据可视化——矩阵图、柱状图、饼图、散点图与线性回归、带状图
Agile development helps me