给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
https://leetcode.cn/problems/squares-of-a-sorted-array/
双指针 class Solution: def sortedSquares(self, nums: List[int]) -> List[int]: n = len(nums) ans = [0]*n left ,right, pos = 0, n-1, n-1 while(left <= right): #当i=j时结束循环 if( nums[left] * nums[left] < nums[right] *nums[right]): ans[pos] = nums[right] *nums[right] right -= 1 else: ans[pos] = nums[left] * nums[left] left += 1 pos -= 1 return ans
使用列表推导式和sorted函数 class Solution: def sortedSquares(self, nums: List[int]) -> List[int]: return(sorted([x*x for x in nums]))
浙公网安备 33010602011771号