1. 题目
2. 描述
给定一个按非递减顺序排序的整数数组
A
,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:
输入: [-4,-1,0,3,10]
输出: [0,1,9,16,100]
示例 2:
输入: [-7,-3,2,3,11]
输出: [4,9,9,49,121]
3. 思路
遍历数组,然后将数组元素的平方存入一个新的数组中,然后返回排序后的数组即可,主要操作是遍历()和排序(),最后时间复杂度为 .
4. 实现
public int[] sortedSquares(int[] A) {
// 声明一个 A 的等长数组用于存放平方结果
int[] result = new int[A.length];
// 遍历数组,将其元素的平方存到 result 中
for (int i = 0; i < A.length; i++) {
result[i] = A[i] * A[i];
}
// 数组排序
Arrays.sort(result);
return result;
}