977有序数组的平方
def sortedSquares(self, nums: List[int]) -> List[int]:
_len =len(nums)
nums1=[0]*_len
for i in range(_len):
nums1[i] = nums[i]*nums[i]
nums1.sort()
return nums1
977长度最小的子数组
def minSubArrayLen(self, target: int, nums: List[int]) -> int:
_len = len(nums)
left = 0
right= 0
sum=0
min_len = _len+1
while right<_len:
sum+=nums[right]
while sum>=target:
temp_len=right-left+1
min_len = min(min_len,temp_len)
sum -= nums[left]
left+=1
right+=1
if min_len==_len+1:
return 0
else: return min_len
滑动窗口
977螺旋矩阵 II
def generateMatrix(self, n: int) -> List[List[int]]:
matrix = [[0] * n for _ in range(n)]
num = 1
left, right, top, bottom = 0, n-1, 0, n-1
while num <= n*n:
# 从左到右
for i in range(left, right+1):
matrix[top][i] = num
num += 1
top += 1
# 从上到下
for i in range(top, bottom+1):
matrix[i][right] = num
num += 1
right -= 1
# 从右到左
for i in range(right, left-1, -1):
matrix[bottom][i] = num
num += 1
bottom -= 1
# 从下到上
for i in range(bottom, top-1, -1):
matrix[i][left] = num
num += 1
left += 1
return matrix
这篇文章展示了几个关于数组操作的算法实现,包括将有序数组的每个元素平方并排序,找到和大于等于目标值的子数组的最小区间,以及生成螺旋矩阵。这些算法涉及到数组遍历、动态规划和二维数组的处理。
199





