新手刷题:70道力扣题

Array数组

1. 两数之和

1、暴力解法:时间复杂度为N(N*N)

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        for i in range(0, len(nums)):
            for j in range(i + 1, len(nums)):
                if nums[i] + nums[j] == target:
                    return [i,j]

2、哈希表

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        hashtable = {}  # hashmap = dict(),创建一个空字典
        for i, num in enumerate(nums): # enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for循环当中。
            if target - num in hashtable: # 循环遍历num时,如果hashtable中已经有另一个元素(target-num)在哈希表中,则直接返回这两个元素的索引
                return [hashtable[target - num], i]
            hashtable[num] = i # 否则将该元素和索引添加到字典中
        return []

268. 丢失的数字

 

上一篇:【Swift】LeedCode Excel 表列序号


下一篇:linux驱动获取命令行参数方法