public class Solution {
    public int[] SortedSquares(int[] A) {
        return A.Select(x => x * x).ToList().OrderBy(x => x).ToArray();
    }
}

 

Java版代码

 1 class Solution {
 2     public int[] sortedSquares(int[] nums) {
 3         int n = nums.length;
 4         int negative = -1;
 5         for (int i = 0; i < n; ++i) {
 6             if (nums[i] < 0) {
 7                 negative = i;
 8             } else {
 9                 break;
10             }
11         }
12 
13         int[] ans = new int[n];
14         int index = 0, i = negative, j = negative + 1;
15         while (i >= 0 || j < n) {
16             if (i < 0) {
17                 ans[index] = nums[j] * nums[j];
18                 ++j;
19             } else if (j == n) {
20                 ans[index] = nums[i] * nums[i];
21                 --i;
22             } else if (nums[i] * nums[i] < nums[j] * nums[j]) {
23                 ans[index] = nums[i] * nums[i];
24                 --i;
25             } else {
26                 ans[index] = nums[j] * nums[j];
27                 ++j;
28             }
29             ++index;
30         }
31 
32         return ans;
33     }
34 }

 

posted on 2019-01-22 10:06  Sempron2800+  阅读(77)  评论(0编辑  收藏  举报