文章 32
评论 269
浏览 46273
日刷leetcode--简单版(六)

日刷leetcode--简单版(六)

返回总目录

日刷leetcode–简单版


167. 两数之和 II - 输入有序数组

题目描述

image.png

解题思路

  • 定义双指针,分别在头部与尾部
  • 判断两个的和是否与targent相等,相等级返回,比 sum 大则尾指针前移,反之头指针后移
示例代码
func twoSum(numbers []int, target int) []int {
	l, r := 0, len(numbers)-1
	for l < r {
		sum := numbers[l] + numbers[r]
		if sum == target {
			return []int{l + 1, r + 1}
		}
		if sum < target {
			l++
		} else {
			r--
		}
	}
	return []int{-1, -1}
}
运行结果

执行用时 :4 ms, 在所有 golang 提交中击败了 97.30% 的用户
内存消耗 :3 MB, 在所有 golang 提交中击败了 68.38% 的用户


文章发布自:墨殇的技术博客,转载请注明出处,谢谢!

凡打不倒我的,必使我强大!!!—— 墨殇的技术博客