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

    题目链接:https://leetcode.com/problems/two-sum/

    解题思路:

    1、这可以用暴力破解,但是会显得很low。

    2、所以我们采用HashMap,(key,value),这里的key=nums[i],value等于index。先判断目标值减去当前指针指的这个数是否在这个map中。

    比如[2,7,11,15]

    当i=0, map为空,肯定不包含这个数,所以把<2,0>放进map

    当i=1,判断目标值减当前指针,9-7=2,判断map包不包含key=2这个东西,一看包含的,那么就返回这个res,如果不包含,那么就把<7,1>这个再放进去。

     1 import java.util.ArrayList;
     2 class Solution {
     3     public int[] twoSum(int[] nums, int target) {
     4         
     5         Map<Integer, Integer> has= new HashMap<Integer, Integer>();
     6         int [] res = null;
     7         for(int i=0;i<nums.length;i++)
     8         {
     9             if(has.containsKey(target-nums[i]))
    10             {
    11                 res= new int[] {has.get(target-nums[i]),i};
    12             }
    13             else{
    14                 has.put(nums[i],i);
    15             }
    16         }
    17         return res;
    18         
    19     }
    20 }
  • 相关阅读:
    C#
    数据库SQL Server
    JavaScript题目
    vscode: Visual Studio Code 常用快捷键
    jQuery教程
    JavaScript快速排序
    JS编程艺术
    JS
    linux 笔记
    积累的各种资源
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10821876.html
Copyright © 2011-2022 走看看