leetcode 977 有序陣列的平方

2021-10-24 20:13:45 字數 948 閱讀 6547

給定乙個按非遞減順序排序的整數陣列 a,返回每個數字的平方組成的新陣列,要求也按非遞減順序排序。

示例 1:

輸入:[-4,-1,0,3,10]

輸出:[0,1,9,16,100]

示例 2:

輸入:[-7,-3,2,3,11]

輸出:[4,9,9,49,121]

1 <= a.length <= 10000

-10000 <= a[i] <= 10000

a 已按非遞減順序排序。

最暴力的思路:做完平方後排序。

雙指標思路:每次把絕對值較大的那個指標指向的數字平方放在結果裡,leftright指標指向的是下乙個需要考慮的位置,所以迴圈退出的條件是left <= right。時間、空間複雜度都是o(n

)o(n)

o(n)

class

solution

:def

sortedsquares

(self, a: list[

int])-

> list[

int]

: left, right =0,

len(a)-1

ans =

while left <= right:

ifabs

(a[left]

)<

abs(a[right]):

* a[right]

) right -=

1else

:* a[left]

) left +=

1return ans[::

-1]

leetcode 977 有序陣列的平方

給定乙個按非遞減順序排序的整數陣列a,返回每個數字的平方組成的新陣列,要求也按非遞減順序排序。示例 1 輸入 4,1,0,3,10 輸出 0,1,9,16,100 示例 2 輸入 7,3,2,3,11 輸出 4,9,9,49,121 1 a.length 10000 10000 a i 10000a...

LeetCode977 有序陣列的平方

給定乙個按非遞減順序排序的整數陣列a,返回每個數字的平方組成的新陣列,要求也按非遞減順序排序。示例 1 輸入 4,1,0,3,10 輸出 0,1,9,16,100 示例 2 輸入 7,3,2,3,11 輸出 4,9,9,49,121 1 a.length 10000 10000 a i 10000a...

LeetCode 977 有序陣列的平方

給定乙個按非遞減順序排序的整數陣列 a,返回每個數字的平方組成的新陣列,要求也按非遞減順序排序。示例1 輸入 4,1,0,3,10 輸出 0,1,9,16,100 示例2 輸入 7,3,2,3,11 輸出 4,9,9,49,121 判斷陣列中是否含有負數。若沒有負數,直接將每個元素平方之後賦值,返回...