zoukankan      html  css  js  c++  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;
        }
    }
  • 相关阅读:
    2019 SDN第六次作业
    第07组 Beta冲刺(2/4)
    第07组 Beta冲刺(1/4)
    2019 SDN第5次作业
    SDN课程阅读作业(2)
    第08组 Beta版本演示
    第08组 Beta冲刺(4/4)
    第08组 Beta冲刺(3/4)
    第08组 Beta冲刺(2/4)
    第08组 Beta冲刺(1/4)
  • 原文地址:https://www.cnblogs.com/iwangzheng/p/6001448.html
Copyright © 2011-2022 走看看