zoukankan      html  css  js  c++  java
  • 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;
        }
    
    }
  • 相关阅读:
    树状数组基础
    Color the ball HDU1556
    敌兵布阵 HDU1166
    线段树基础
    T9 HDU1298
    7-6 Bandwidth UVA140
    测试方法:
    测试过程:
    爬天极网美女图片缩略图:
    爬天极网美女预览图版一:
  • 原文地址:https://www.cnblogs.com/airycode/p/6850671.html
Copyright © 2011-2022 走看看