首页 > 代码库 > 001-Two Sum
001-Two Sum
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, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].
Subscribe to see which companies asked this question.
Show Tags
Show Similar Problems
package TWO_SUM_001; import java.util.Arrays; public class Main { public static void main(String[] args) { int nums[] = {2,7,11,15}; int num[] = twoSum(nums,9); print(num); } private static void print(int[] num) { if (num != null && num.length>0) { for (int n:num) { System.out.print(n+" "); } } } public static int[] twoSum(int[] nums, int target) { int[] array = new int[2]; //1:首先对数组中数字排序 Arrays.sort(nums); //2: int start = 0;//下标 int end = nums.length-1;//下标 //从两边向中间靠拢 while (start < end) { //找到输入的结果直接返回 if (nums[start]+nums[end] == target) { if (nums[start] > nums[end]) { array[0] = end+1; array[1] = start+1; } else { array[0] = start+1; array[1] = end+1; } break; } else if (nums[start]+nums[end] > target) {//如果大于右边的值end-- end--; } else { start++; } } return array; } }
001-Two Sum
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。