977. 两个指针+ 一个result array+ 一个res的指针- 注意要倒着加入
class Solution:
def sortedSquares(self, nums: List[int]) -> List[int]:
left,right = 0, len(nums)-1
ptr = len(nums)-1
res = [0]*len(nums)
while left<=right:
if nums[left]*nums[left] > nums[right]*nums[right]:
res[ptr] = nums[left]*nums[left]
left+=1
else:
res[ptr] = nums[right]*nums[right]
right-=1
ptr-=1
return res
官方题解总有一种很厉害的感觉。确实厉害。
class Solution:
def minSubArrayLen(self, target: int, nums: List[int]) -> int:
n = len(nums)
left, right = 0,0
ans = n+1
tot = 0
while right < n:
tot +=nums[right]
while tot >= target:
ans = min(ans, right-left+1)
tot -=nums[left]
left +=1
right +=1
return 0 if ans==n+1 else ans
这个题有毒,越看越不明白,明天继续。