Two Sum

本文分享了作者使用Python解决LeetCode两数之和问题的心得体会,从暴力破解到优化实现,最终采用哈希表的方法提高了效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是我用Python刷的第一个题。我刚开始用python,并且第一次刷leetCode,和我以前刷过的网站不太一样,我还是按以前的办法处理,导致浪费了很多时间去,但是体验挺不错的,同时也感觉到了英语的重要性。
一开始用暴力破解,时间复杂度为n的平方,在第18个测试用例上导致超时。所以必须得换,但是没想出来[衰]。看到网上有这种方法,就翻译为python了。
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        length = len(nums)
        d = {}
        index = 0
        while index < length:
            if d.get(target-nums[index],-1) == -1:
                #若target-nums[index]不在d中,则把nums[index]添加到d,方便快速访问
                d[nums[index]] = index
                index = index + 1 #下标加1,老以为是c语言中,自动加1
            else:
                return d.get(target-nums[index]),index  #返回下标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值