力扣--有序数组的平方

力扣--有序数组的平方,第1张

力扣--有序数组的平方


1.方法一(无脑)

    public static  int[] sortedSquares(int[] nums) {
        for (int i = 0; i  

2.双指针

因为数组是有序的,所以最大值在两侧取到,所以每次都可以取到平方后最大的数,双指针从两边开始遍历。

    public static  int[] sortedSquares(int[] nums) {
        int l = nums.length - 1;
        int nums1[] = new int [nums.length];
        for (int i = 0, j = l; i <= j;){
            if (nums[i]*nums[i]>nums[j]*nums[j]) {
                nums1[l--] = nums[i]*nums[i];
                i++;
            }else {
                nums1[l--] = nums[j]*nums[j];
                j--;
            }
        }
        return nums1;
    }

有脑子真好【狗头】

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5686950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存