当前位置:首页 > IT技术 > 其他 > 正文

双指针
2022-05-29 22:36:09

 

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

 
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]  # 最终结果是升序,且先放最大的。因为题目数据是山谷数组
                i += 1  # 循环遍历每个索引
            else:
                ans[pos] = nums[j] * nums[j]
                j -= 1  # 循环遍历每个索引
        pos -= 1 
    return ans

 

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

开通会员,享受整站包年服务立即开通 >