• 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;
        }
    }
  • 相关阅读:
    eclipse提速01
    eclipse提速02
    快速清空Access资料库中所有表的数据
    删除数据之后自增长列重新开始计数
    JS中控制两个小数位
    JS控制table中tr位置互换
    MIME 类型列表
    JS中对于email格式的判断
    获取网站根目录的方法
    通过存储过程创建SQL作业
  • 原文地址:https://www.cnblogs.com/iwangzheng/p/6001448.html
Copyright © 2020-2023  润新知