zoukankan      html  css  js  c++  java
  • Leet Code 1.两数之和

    给定一个整数nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
    可以假设每种输入只会对应一个答案。但是,不能重复利用这个数组中同样的元素。

    题解

    提交代码

    class Solution {
        public int[] twoSum(int[] nums, int target) {
            HashMap<Integer, Integer> map = new HashMap<>();
        	for(int i = 0; i < nums.length; i++) {
         		if(map.containsKey(target - nums[i])) {
        			return new int[] {map.get(target - nums[i]), i};
        		}
         		map.put(nums[i],i);
        	}
        	throw new IllegalArgumentException("No two sum solution");
        }
    }
    

    本题最简易方法:暴力法

    • 循环遍历两次,对于每个元素x遍历整个数组,判断是否存在target-x。

    提交代码的思路:是用HashMap存储每个元素,每次存入元素的同时,判断是否存在target-x。

    • 两个方法不同之处是用空间换时间。
    • 熟悉了HashMap。
    • Map的containsKey(key)是否存在这个Key值
    • Map的get(key)获取key对应的value
  • 相关阅读:
    auto-sklearn案例解析二
    auto-sklearn案例解析二
    auto-sklearn案例解析一
    auto-sklearn案例解析一
    auto-sklearn简介
    auto-sklearn简介
    auto-sklearn手册
    auto-sklearn手册
    观念
    JDBC总结
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/11850114.html
Copyright © 2011-2022 走看看