Home

leetcode练习题

字数统计: 212阅读时长: 1 min
2020/03/01 Share

记录自己做题学习

1st March

题目地址:两个数加和

 本人做法:很笨,暴力循环遍历。然后复杂度是O(n2)的两层遍历。而且不熟悉python的一些数组操作。自己真应该多多练习了。
 列表list.count(xx)可以查询里面有xx元素的数量。还有list.index(xx)返回下标。

利用字典

 字典记录,从而节省了查找索引的步骤。

1
2
3
4
5
6
7
8
def twoSum(nums, target):
hashmap={}
for ind,num in enumerate(nums):
hashmap[num] = ind
for i,num in enumerate(nums):
j = hashmap.get(target - num)
if j is not None and i!=j:
return [i,j]

升级

1
2
3
4
5
6
def twoSum(nums, target):
hashmap={}
for i,num in enumerate(nums):
if hashmap.get(target - num) is not None:
return [i,hashmap.get(target - num)]
hashmap[num] = i #这句不能放在if语句之前,解决list中有重复值或target-num=num的情况

CATALOG
  1. 1. 1st March
    1. 1.1. 利用字典