977. 有序数组的平方
首先想到的肯定还是暴力解法平方再排个序,但如果这样写就没有写的必要了
双指针
一个left指针,一个right指针,哪一个指针所在index的绝对值较大就将该元素的平方添加到result数组的末尾,for循环完毕则运算结束。
class Solution {
public int[] sortedSquares(int[] nums) {
int length=nums.length;
int[] result=new int[length];
int left=0,right=length-1;
for (int i = length-1; i >=0 ; i--) {
if (Math.abs(nums[left])>Math.abs(nums[right])){
result[i]= (int) Math.pow(nums[left],2);
left++;
}else {
result[i]= (int) Math.pow(nums[right],2);
right--;
}
}
return result;
}
}
#算法刷题与整理/数组
#算法刷题与整理/双指针