【LeetCode】Two Sum II

来源:互联网 发布:有没有画画软件 编辑:程序博客网 时间:2024/05/16 14:03

【LeetCode】Two Sum II - Input array is sorted 解题报告

标签(空格分隔): LeetCode


题目地址:https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/#/description

题目描述:

Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.

The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not zero-based.

You may assume that each input would have exactly one solution and you may not use the same element twice.

Input: numbers={2, 7, 11, 15}, target=9
Output: index1=1, index2=2

Ways

已经排序好了的数组,找出目标和。可以挨个试,时间复杂度是O(n^2),复杂度太高。可以用双指针,同时向中间靠拢,肯定能达到目标的和。

public class Solution {    public int[] twoSum(int[] numbers, int target) {        int index[] = new int[2];        int left = 0;        int right = numbers.length - 1;        while(left < right){            long temp = numbers[left] + numbers[right];            if(temp == target){                index[0] = left + 1;                index[1] = right + 1;                break;            }else if(temp < target){                left++;            }else{                right--;            }        }        return index;    }}

Date

2017 年 4 月 18 日

0 0
原创粉丝点击