Posted on 2024-03-02 18:17
Uriel 閱讀(39)
評論(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]