LeetCode打卡Day3

LeetCode打卡Day3,第1张

LeetCode打卡Day3

我又回来了,回来打卡LeetCode,第一天抄了,第二天水了,隔了大半个月我来搞第三天的卡,唉,随缘努力,工作你加加油,找找我啊。

今天做第一题:1. 两数之和

看着标得简单,我不知如何下手,脑子里只有暴力穷举,哭了,我真的是个研究生吗?大学四年学没了

1、自己解题,直接粗暴求解

循环循环,确定一个数然后另一个数不断相加,判断是否等于target,若等于则结束循环。毫无技巧可言啊(这里用了C++)

class Solution {
public:
    vector twoSum(vector& nums, int target) {
        vector index(2);
        int l = nums.size();
        for(int i=0; i 

下面是这道题当时的提交结果

 

2、在解答区看别人解题

用到了哈希表,边循环边找,真聪明,我怎么就想不到呢,慢慢来吧,题做多了背也该背会了吧,这里用了Java编码。在一遍循环的过程中,同时记录了每个元素的下标和为达到目标值需要的另一个元素,一遍循环就可以完成,(微软输入法这个牛的表情包着实丑了点)。

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] index=new int[2];
        HashMap hash = new HashMap();
        for(int i=0; i 

以下是提交结果,性能明显提升了好多啊,不过有一说一Java真的好耗内存啊(之前从来没感觉这么明显过)

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4744633.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-08
下一篇 2022-11-08

发表评论

登录后才能评论

评论列表(0条)

保存