leecode 167. Two Sum II - Input array is sorted

原创 2016年08月29日 14:54:09

题意:在数组的中两个数字的和为目标数组,看了其实很简单是吧,注意有坑:人家求的事第几个,从第一个开始的。举个例子:Input: numbers={2, 7, 11, 15}, target=9 。Output: index1=1, index2=2 结果是:1,2。结果是第一个第二个。

思路:思路很简单的,两个指针一个指向头一个指向结尾,往中间遍历,人家要求第一个数字的索引要小于第二个数字的索引,

所以循环条件:头指针(begin)<为指针(end)。

情况分三种:begin+end > target ,begin+end < target ,begin+end = target。

public int[] twoSum(int[] numbers, int target) {
		int begin = 0;
		int end = numbers.length - 1;
		while (begin < end) {
			// 1.相等就结束了
			if (numbers[begin] + numbers[end] == target) {
				break;
			}
			// 2.两数结果 < target
			else if (numbers[begin] + numbers[end] < target) {
				begin++;
			}
			// 2.两数结果 > target
			else if (numbers[begin] + numbers[end] > target) {
				end--;
			}
		}

		int nums[] = { begin + 1, end + 1 };
		return nums;
	}


版权声明:本文为博主原创文章,未经博主允许不得转载。

167. Two Sum II - Input array is sorted (在有序数组中确定和为给定值的两个元素的下标)

Given an array of integers that is already sorted in ascending order, find two numbers such that the...
  • xiangwanpeng
  • xiangwanpeng
  • 2016年11月11日 21:41
  • 561

两个有序数组的中位数Median of Two Sorted Arrays(很重要)

https://leetcode.com/problems/median-of-two-sorted-arrays/ 对于一个长度为n的已排序数列a,若n为奇数,中位数为a[n / 2 + 1]...
  • gao1440156051
  • gao1440156051
  • 2016年06月21日 11:11
  • 3279

leetcode 刷题题解(c++) 1.Two Sum (hash表,排序+二分查找)

c++刷leetcode,有题目和算法代码,可直接在leetcode提交通过。
  • GOGO_YAO
  • GOGO_YAO
  • 2016年07月24日 20:59
  • 557

leetcode--TWO SUM延伸(假设答案不唯一、假设输入有相同数字)

leetcode中的TWO SUM对结果进行了限制,You may assume that each input would have exactly one solution. 但是考虑实际情况,...
  • u010523205
  • u010523205
  • 2015年07月14日 21:29
  • 415

LeetCode题解--1. Two Sum(和为S的两个数字)

题目地址https://leetcode.com/problems/two-sum/ 描述给定一个整数数组,找出其中两个数满足相加等于你指定的目标数字。要求:这个函数twoSum必须要返回能够相加等于...
  • gatieme
  • gatieme
  • 2016年01月27日 22:32
  • 3944

Leetcode全数组问题

目录 1、编号2 Median of Two Sorted Arrays There are two sorted arrays A and B of size m and n respe...
  • wangxiaojun911
  • wangxiaojun911
  • 2014年02月06日 03:32
  • 6366

LeeCode编程训练日记一:Two Sum

通过Leecode训练编程,每天只做一个题目,重在训练编程思想 Practice Day 1: 2017/06/25  参考:http://blog.csdn.net/murdock_c/ar...
  • sinat_28940673
  • sinat_28940673
  • 2017年06月26日 16:39
  • 90

算法系列--Two Sum

继续算法系列。今天再看一道leetcode(www.leetcode.com)的题目。问题描述原文 Given an array of integers, find two numbers suc...
  • ylyg050518
  • ylyg050518
  • 2015年09月13日 23:34
  • 835

【LeetCode-面试算法经典-Java实现】【113-Path Sum II(路径和)】

【113-Path Sum II(路径和II)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a binary tree and a sum, find al...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月12日 06:23
  • 2508

LintCode双指针/滑动窗口/Two Sum类型题总结

双指针题算是数组类型题目的一个子模块了。 373. Partition Array by Odd and Even 把一个数组划分为奇数在前偶数在后的状态,要求in place。很简单,就用双指针法,...
  • luoshengkim
  • luoshengkim
  • 2016年08月10日 19:33
  • 966
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leecode 167. Two Sum II - Input array is sorted
举报原因:
原因补充:

(最多只允许输入30个字)