两数之和 力扣

说点啥

作为一名计算机专业的学生,
我真的 真的 真的 很不喜欢算法和数据结构
以至于对此处于基本放弃的状态
结果前天观摩了一下大厂的招聘大会
基本上对算法要求是十分严苛的,算法不好只能搞运维
我觉得我还有拯救的可能,就算以后进不了开发,也要搞安全和测试
所以加油吧!!!
从今天开始每天一道算法题
要搞懂搞透

再多说两句
华为的HR说,他们内部新增的要求
要求工作人员要每星期60道算法题
每到题不能错超过三次
一旦有一道超过了,就会被叫去谈话
下放
开发转测试,再错就测试转运维
再错就回家了

两数之和

欠的总是要还的
大一不努力,大二徒伤悲

在这里插入图片描述


题目内容

在这里插入图片描述

有被内涵到
在这里插入图片描述
啊啊啊啊啊啊啊啊啊


你给我说这是第一题!!!只是开始!!!

妈妈,我不想努力了,我只想回家。

在这里插入图片描述

哈希表
使用哈希表,可以将寻找target - x 的时间复杂度降低到从O(n)降低到O(1)
创建一个哈希表,对于每一个x,我们首先查询哈希表中是否存在target - x,然后将x插入到哈希表中,即可保证不会让X和自己匹配

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(nums[i])){
    
    
                return new int[]{
    
    map.get(nums[i]), i};
            }
            map.put(target - nums[i], i);
        }
        return null;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_46601374/article/details/117225404
今日推荐