当前位置:网站首页>[算法] 剑指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
}
测试

边栏推荐
- [leetcode622]设计循环队列
- CUDA C programming authoritative guide Grossman Chapter 4 global memory
- FairyGUI增益BUFF數值改變的顯示
- [leetcode15] sum of three numbers
- Affichage du changement de valeur du Buff de gain de l'interface graphique de défaillance
- GPS高程拟合抗差中误差的求取代码实现
- (the first set of course design) sub task 1-5 317 (100 points) (dijkstra: heavy edge self loop)
- Vulnhub target: hacknos_ PLAYER V1.1
- Detailed explanation of truncate usage
- [899]有序队列
猜你喜欢
随机推荐
[Offer18]删除链表的节点
[Nodejs] 20. Koa2 onion ring model ----- code demonstration
Gateway fails to route according to the service name, and reports an error service unavailable, status=503
[offer9] implement queues with two stacks
(the first set of course design) 1-4 message passing interface (100 points) (simulation: thread)
Unity3d, Alibaba cloud server, platform configuration
(core focus of software engineering review) Chapter V detailed design exercises
FGUI工程打包发布&导入Unity&将UI显示出来的方式
[offer18] delete the node of the linked list
FairyGUI增益BUFF数值改变的显示
Get the position of the nth occurrence of the string
基于rtklib源码进行片上移植的思路分享
(四)R语言的数据可视化——矩阵图、柱状图、饼图、散点图与线性回归、带状图
FairyGUI循环列表
Prove the time complexity of heap sorting
【GNSS】抗差估计(稳健估计)原理及程序实现
MySQL replacement field part content
Guided package method in idea
微信小程序开发心得
程序设计大作业:教务管理系统(C语言)








