LeetCode题库------977.有序数组的平方(Java)
给你一个按 非递减顺序 排序的整数数组 nums
,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
示例
输入:nums = [-4,-1,0,3,10]
输出:[0,1,9,16,100]
解释:平方后,数组变为 [16,1,0,9,100]
排序后,数组变为 [0,1,9,16,100]
题目分析
先生成新数组,再排序。可用多种排序算法。
题解
方法一:
public int[] sortedSquares(int[] nums) {
int[] now = {
};
for (int i = 0; i < nums.length; i++) {
now[i] = nums[i] * nums[i];
}
int target = now[0];
for (int i = 0; i < now.length; i++) {
for (int j = 0; j < now.length-i-1; j++) {
if(now[j+1] < now[j]){
target = now[j+1];
now[j+1] = now[j];
now[j] = target;
}
}
}
return now;
}
思路:
生成新数组,使用冒泡排序