classSolution:defsortedSquares(self, nums: List[int])-> List[int]:
n =len(nums)
i,j,k =0,n -1,n -1
ans =[-1]* n
while i <= j:
lm = nums[i]**2
rm = nums[j]**2if lm > rm:
ans[k]= lm
i +=1else:
ans[k]= rm
j -=1
k -=1return ans
给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
classSolution:deftwoSum(self, nums: List[int], target:int)-> List[int]:
dict_nums ={}for index inrange(0,len(nums)):
value = target - nums[index]if value in dict_nums:return[dict_nums[value],index]
dict_nums[nums[index]]=index
returnNone
classSolution:deflengthOfLongestSubstring(self, s:str)->int:# 滑动窗口包含左右两个,因此初始化条件可为left, right = 0, -1# 由于初始化right为-1,因此当s[right+1]不在数组s(更新的)内,并且长度小于数组的长度,即向右窗口移动,否则向左窗口移动
left,right =0,-1
max_len =0# 终止条件:由于右窗口会先滑到右端,因此终止条件是左窗口在数组长度范围内即可while left <len(s):if right+1<len(s)and s[right+1]notin s[left:right+1]:
right = right +1else:
left = left +1
max_len =max(max_len,right-left+1)return max_len