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 }