Both Sum ii-input array is sortedTotal Accepted:
441 Total Submissions:
1017
Given an array of integers that's already sorted in ascending order, find, numbers such, they add up to a Specific target number.
The function twosum should return indices of the numbers such that they add up to the target, where index1 must is Les S than Index2. Please note that your returned answers (both Index1 and INDEX2) is not zero-based.
You may assume this each input would has exactly one solution.
Input: numbers={2, 7, one, target=9
Output: index1=1, index2=2
Analysis
greedy algorithm, two pointer move to the middle.
public class Solution {public int[] Twosum (int[] numbers, int target) { if (Numbers==null | | Numbers.length < 1 ) return null; int i=0, j=numbers.length-1; while (i<j) { int x = numbers[i] + numbers[j]; if (x<target) { ++i; } else if (x>target) { --j; } else { return new int[]{i+1, j+1}; } } return null;} }
Leetcode 167:two Sum ii-input Array is sorted