讨论/综合讨论/leetcode两数之和/
leetcode两数之和

#代码垃圾的第一题

之前做过一个有序数组两数之和的问题,其中的解题思想是采用双指针,一个从前往后遍历,一个从后往前遍历。
这次没注意到数组并不是有序的,解题时怎么也搞不出来了…

后来看了很多解题讨论,最后选择了一个能看懂并且比较简单的尝试了一下,主要思路其实是差不多的,大概就是判断a=target-nums[i]是否在数组内,在的话返回它的索引值j即可。

lens=len(nums)
for i in   range(lens):
a=target-nums[i]
if  a in nums:
j=nums.index(a)
if i==j:
continue
else:
return i,j
break
else:
continue

代码还都是抄的别人的,害,太菜了我,以后要好好学习呀!

展开讨论
共 2 个讨论

别的先不说,先注意下代码规范...

首先你说的两道题有相似的地方:都是两数相加,差异点在于是否有误,如果无序的话可以考虑排序然后接着用双指针啊。这两题的看点在于时间复杂度:无序的话可以考虑使用查找表,或者排个序。有序的情况下也可以使用查找表,但是就没有利用排序的特性,综上 不同的条件 解法可以相同,但时间复杂度会随条件而变化,因此要理解题目的考察点