Posted on 2024-03-02 18:17
Uriel 阅读(23)
评论(0) 编辑 收藏 引用 所属分类:
闲来无事重切Leet Code 、
游标.移动窗口
给出一个已经从小到大排序的有正有负的数组,输出每个元素的平方并且也要从小到大排序。设两个指针从左和右端向中间扫,之后在逆序输出。
1 #977
2
3 class Solution(object):
4 def sortedSquares(self, nums):
5 """
6 :type nums: List[int]
7 :rtype: List[int]
8 """
9 l = 0
10 r = len(nums) - 1
11 ans = []
12 while l <= r:
13 if nums[l] * nums[l] > nums[r] * nums[r]:
14 ans.append(nums[l] * nums[l])
15 l += 1
16 else:
17 ans.append(nums[r] * nums[r])
18 r -= 1
19 return ans[::-1]