當前位置:首頁 > IT技術 > 其他 > 正文

雙指針
2022-05-29 22:36:09

?

給你一個按?非遞減順序?排序的整數(shù)數(shù)組?nums,返回?每個數(shù)字的平方?組成的新數(shù)組,要求也按?非遞減順序?排序。

?
class Solution:
    def sortedSquares(self, nums: List[int]) -> List[int]:
        n = len(nums)
        ans = [0] * n
        
        i, j, pos = 0, n - 1, n - 1
        while i <= j:
            if nums[i] * nums[i] > nums[j] * nums[j]:
                ans[pos] = nums[i] * nums[i]  # 最終結(jié)果是升序,且先放最大的。因為題目數(shù)據(jù)是山谷數(shù)組
                i += 1  # 循環(huán)遍歷每個索引
            else:
                ans[pos] = nums[j] * nums[j]
                j -= 1  # 循環(huán)遍歷每個索引
        pos -= 1 
    return ans

?

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務立即開通 >