• Lc1_俩数之和


     1import java.util.HashMap;
    2import java.util.Map;
    3
    4/**
    5 * 1. 两数之和
    6 * 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
    7 * <p>
    8 * 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
    9 * <p>
    10 * 你可以按任意顺序返回答案。
    11 * <p>
    12 * <p>
    13 * <p>
    14 * 示例 1:
    15 * <p>
    16 * 输入:nums = [2,7,11,15], target = 9
    17 * 输出:[0,1]
    18 * 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
    19 * 示例 2:
    20 * <p>
    21 * 输入:nums = [3,2,4], target = 6
    22 * 输出:[1,2]
    23 * 示例 3:
    24 * <p>
    25 * 输入:nums = [3,3], target = 6
    26 * 输出:[0,1]
    27 * <p>
    28 * <p>
    29 * 提示:
    30 * <p>
    31 * 2 <= nums.length <= 103
    32 * -109 <= nums[i] <= 109
    33 * -109 <= target <= 109
    34 * 只会存在一个有效答案
    35 */

    36public class TwoSum {
    37    /**
    38     * 因为也是要记录结果 所以考虑到hash
    39     * 因为既要记录结果还要记录位置所以考虑用map,
    40     *
    41     * @param nums
    42     * @param target
    43     * @return
    44     */

    45    public static int[] twoSum(int[] nums, int target) {
    46        int[] res = new int[2];
    47        Map<Integer, Integer> map = new HashMap<>();
    48        for (int i = 0; i < nums.length; i++) {
    49            if (map.containsKey(target - nums[i])) {
    50                res[0] = map.get(target - nums[i]);
    51                res[1] = i;
    52                return res;
    53            } else {
    54                map.put(nums[i], i);
    55            }
    56        }
    57        return null;
    58    }
    59
    60    public static void main(String[] args) {
    61        int[] nums = {271115};
    62        int target = 9;
    63        int[] res = twoSum(nums, target);
    64        for (int i = 0; i < res.length; i++) {
    65            System.out.println(res[i]);
    66        }
    67    }
    68}
    不会,我可以学;落后,我可以追赶;跌倒,我可以站起来!
  • 相关阅读:
    Java实现 LeetCode 792 自定义字符串排序(暴力)
    Java实现 LeetCode 792 自定义字符串排序(暴力)
    asp.net session对象的持久化
    Java实现 LeetCode 791 自定义字符串排序(桶排序)
    Java实现 LeetCode 791 自定义字符串排序(桶排序)
    Java实现 LeetCode 791 自定义字符串排序(桶排序)
    Java实现 LeetCode 790 多米诺和托米诺平铺(递推)
    Java实现 LeetCode 790 多米诺和托米诺平铺(递推)
    Java实现 LeetCode 790 多米诺和托米诺平铺(递推)
    小白也能看懂的约瑟夫环问题
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/14421732.html
Copyright © 2020-2023  润新知