学习Python基础的第7天。前后也看了《Python:从入门到实践》,B站视频等,然后想着在实践中学习,遇到困难,解决困难,复习巩固等方式加深印象,锻炼实操能力,所以才有了今天的Leetcode第一题。
做题,当然从简单开始,不然非常容易“从入门到放弃”,哈哈哈,开个玩笑,找个适合自己的方法去学习一门新的语言就好了。话不多说,看看我做的第一道题是什么样子的~
题目.png
我的解答:
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
res_list = []
for x in nums:
for y in nums[nums.index(x) + 1:]:
if x + y == target:
a = nums.index(x)
b = nums[nums.index(x) + 1:].index(y) + a + 1
res_list.append(a)
res_list.append(b)
return res_list
算是勉强通过,但是非常耗费内存,速度中等。看来我还得继续过一遍基础知识,再一边尝试写出更优解,同时我也会参考别人提交的答案,见贤思齐嘛。
解题思路:
两个for循环,遍历两个列表,第一个列表是给定列表,第二个列表是把 x 之后的数拿出来做另外一个列表遍历。