首页 > 代码库 > Two Sum Leetcode Java
Two Sum Leetcode Java
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。