Two Sum Leetcode Java
Posted 冰凌花花~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 力扣1. Two Sum 两数之和 Java 解法
LeetCode 力扣1. Two Sum 两数之和 Java 解法