美文网首页
leetcode 1 两数相加

leetcode 1 两数相加

作者: justonemoretry | 来源:发表于2019-08-18 16:22 被阅读0次

java解法

解题思路:常规解法为,先选定一个元素,遍历数组去查找是否存在另一个元素,和这个元素相加等于总和,这样整体的时间复杂度为O(n^2)。在加快查找方面,使用hash结构是很好的选择,于是,将已经出现过的元素放到hashmap中,可以直接判断是否存在另一个元素,时间复杂度为O(n)。

class Solution {

    public int[] twoSum(int[] nums, int target) {

        // 利用hashMap加快另一个元素的查找

        Map<Integer, Integer> map = new HashMap<>();

        for (int i = 0; i < nums.length; i++) {

            int m = target - nums[i];

            if (map.containsKey(m)) {

                return new int[] {map.get(m), i};

            }

            map.put(nums[i], i);

        }

        throw new IllegalArgumentException("no two number");

    }

}

相关文章

  • Leetcode 1 两数相加

    题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返...

  • leetcode 1 两数相加

    java解法 解题思路:常规解法为,先选定一个元素,遍历数组去查找是否存在另一个元素,和这个元素相加等于总和,这样...

  • 2021-03-15极客时间打卡

    1、两数相加:https://leetcode-cn.com/problems/add-two-numbers/[...

  • Python小白 Leetcode刷题历程 No.1-No

    Python小白 Leetcode刷题历程 No.1-No.5 两数之和、两数相加、无重复字符的最长子...

  • Swift - LeetCode - 两数相加(1)

    题目 两个数相加 问题: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存...

  • LeetCode-454-四数相加 II

    LeetCode-454-四数相加 II 454. 四数相加 II[https://leetcode-cn.com...

  • leetcode两数相加

    给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表...

  • [LeetCode] 两数相加

    给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表...

  • leetcode 两数相加

    给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只...

  • LeetCode 两数相加

    感觉这题就是在帮我跳出大数相加的坑这是我自己的答案,在long范围内都是对的,但是数字超过取值范围的时候就崩溃了,...

网友评论

      本文标题:leetcode 1 两数相加

      本文链接:https://www.haomeiwen.com/subject/liohsctx.html