码迷,mamicode.com
首页 > 编程语言 > 详细

Two Sum Leetcode Java

时间:2016-10-26 20:12:20      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:array   public   ber   upd   bre   mat   targe   number   log   

 

 

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

 

UPDATE (2016/2/13):
The return format had been changed to zero-based indices. Please read the above updated description carefully.

 

public class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] copy = new int[nums.length]; 
        int index1 = 0;
        int index2 = nums.length - 1;
        int first = -1;
        int second = -1;
        int[] result = new int[2];
        System.arraycopy(nums, 0, copy, 0, nums.length);
        Arrays.sort(copy);
        
        while (index1 < index2) {
          if (copy[index1] + copy[index2] == target) {
              result[0] = copy[index1];
              result[1] = copy[index2];
              break;
          }else if(copy[index1] + copy[index2] < target){
              index1++;
          }else{
              index2--;
          }
        }
        for(int i = 0; i < nums.length; i++){
            if (result[0] == nums[i] && first == -1){
              first = i;
            }else if (result[1] == nums[i] && second == -1){
              second = i;
            }
        }
       
        result[0] = first;
        result[1] = second;
        return result;
    }
}

 

Two Sum Leetcode Java

标签:array   public   ber   upd   bre   mat   targe   number   log   

原文地址:http://www.cnblogs.com/iwangzheng/p/6001448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!