public class Solution { public int[] SortedSquares(int[] A) { return A.Select(x => x * x).ToList().OrderBy(x => x).ToArray(); } }
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 }