java面试每日一题(3)

给你一个按 非递减顺序的数组,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序

参考答案

class solution{

                 public int[] sortedSquares(int[] nums) {
                int right = nums.length -1;
                int left = 0;
                int[] result= new int[nums.length];
                int index = result.length-1;
                while(left<=right){
                    if(nums[left]*nums[left]> nums[right]* nums[right]){
                        result[index--] = nums[left]*nums[left];
                        ++left;
                    }else{
                        result[index--] = nums[right]* nums[right];
                        --right;
                    }
                }
                return result;
    }



}

猜你喜欢

转载自blog.csdn.net/guai__/article/details/121644251