给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
//双指针解法:
class Solution {
public int[] sortedSquares(int[] nums) {
int i=0,j=nums.length-1,k=nums.length;
int[] result = new int[nums.length];//定义一个新数组接收比较后的数据
while(i<=j){
if(nums[i]*nums[i]>nums[j]*nums[j]){
result[k-1]=nums[i]*nums[i];//最大的放到最后
k--;
i++;//前面的往后挪
}
else{
result[k-1]=nums[j]*nums[j];
k--;
j--;//后面的往前挪
}
}
return result;
}
}
最后
以上就是单薄西装最近收集整理的关于有序数组的平方的全部内容,更多相关有序数组内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复