Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
给出一个已经从小到大排序的有正有负的数组,输出每个元素的平方并且也要从小到大排序。设两个指针从左和右端向中间扫,之后在逆序输出。


 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]

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理