zoukankan      html  css  js  c++  java
  • 1. Two Sum

    一、审题

      1、描述: 

      

      2、题意:

        求两数和为 target 的这两数下标

    二、解答

      若采用循环需要两层for,考虑用 Map 的 key 记录值,value 记录其所在下标,则时间复杂度为 n;

    class Solution {
        public int[] twoSum(int[] nums, int target) {
            int[] result;
            int index = 0;
            Map<Integer, Integer> map = new HashMap<Integer, Integer>();
            for (int i = 0; i < nums.length; i++) {
                if(map.containsKey(target - nums[i])) {  // 判断 map 中 是否包含了另一个值
                    result = new int[]{map.get(target - nums[i]), i};
                    return result;
                }
                map.put(nums[i], i);
            }
    
            return null;
        }
    }
  • 相关阅读:
    Vue自定义指令 directive
    Vue过滤器 filters
    贪心
    家庭作业
    线段
    数列极差
    shell
    智力大冲浪
    加工生产调度
    喷水装置
  • 原文地址:https://www.cnblogs.com/skillking/p/9350652.html
Copyright © 2011-2022 走看看