微信网站后台功能,学校网站意义,沈阳网页设计师,哪个网站可以做医学基础知识题心路历程#xff1a;
很简单的题#xff0c;双层暴力就可以#xff0c;用双指针的话快一点。暴力时间复杂度O( n 2 n^2 n2)#xff0c;双指针时间复杂度O(nlogn) O(n) O(n) O(nlogn)。
注意的点#xff1a;
1、题目需要返回原数组的索引#xff0c;所以排序后还需要…
心路历程
很简单的题双层暴力就可以用双指针的话快一点。暴力时间复杂度O( n 2 n^2 n2)双指针时间复杂度O(nlogn) O(n) O(n) O(nlogn)。
注意的点
1、题目需要返回原数组的索引所以排序后还需要对应原数组还好只要返回唯一解。 2、对应原数组的时候注意处理两个指针赋值不能相同的情况无法直接用.index() 3、right指针大于left指针即可总是有时候把左右指针写反。
解法排序、双指针、返回对应原数组索引
class Solution:def twoSum(self, nums: List[int], target: int) - List[int]:# 双指针newnums sorted(nums)left 0right len(nums) - 1while right left: if newnums[left] newnums[right] target:breakelif newnums[left] newnums[right] target:right - 1else:left 1assert left ! rightl1, l2 0, 0flag Falsefor i in range(len(nums)):if newnums[left] nums[i] and not flag:l1 iflag Trueelif newnums[right] nums[i]:l2 ireturn [l1, l2]