java實現給出一個數組,判斷數組裏面的兩個值相加是否等於給出的數 如果是則返回對應的下標

/**
 * Created by Ymino on 2019/3/25.
 * 給出一個數組,判斷數組裏面的兩個值相加是否等於給出的數 如果是則返回對應的下標
 * nums[2,7,9,11] target 9
 * 返回 [1,2] (2+7)
 * 時間複雜度 O(n) 空間複雜度O(n)
 */
public  int[] to_sum(int[] nums,int target){
        if (nums == null || nums.length <2){
            return new int[]{-1,-1};
        }
        int res[] = new int[]{-1,-1};
        Map<Integer,Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            if (map.containsKey(target-nums[i])){
                res[0] = target-nums[i];
                res[1] = i;
            }
            map.put(nums[i],i);

        }
        return res;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章