【LeetCode-简单题】977. 有序数组的平方

文章目录

题目

方法一:双指针

java 复制代码
class Solution {
// 方法一 :双指针
    public int[] sortedSquares(int[] nums) {
      int left = 0;
      int right = nums.length -1 ;
      int[] res = new int[nums.length];//结果集新数组  长度为老数组长度
      for(int i = nums.length-1 ; i>=0 ;i--){
          int l = nums[left]*nums[left];
          int r = nums[right]*nums[right];
          if( l > r ){//若左边的值 大于 右边的值 ,让左边的值坐在最后面,然后移动左指针往后
              res[i] = l;
              left++;
          }else {//若左边的值 <= 右边的值 ,让右边的值坐在当前最后面,然后移动右指针往前
               res[i] = r;
             right--;
          }
      }
      return res;
    }
   
}

方法二:

相关推荐
疯狂的喵2 小时前
C++编译期多态实现
开发语言·c++·算法
scx201310042 小时前
20260129LCA总结
算法·深度优先·图论
2301_765703142 小时前
C++中的协程编程
开发语言·c++·算法
m0_748708052 小时前
实时数据压缩库
开发语言·c++·算法
小魏每天都学习2 小时前
【算法——c/c++]
c语言·c++·算法
智码未来学堂3 小时前
探秘 C 语言算法之枚举:解锁解题新思路
c语言·数据结构·算法
惊讶的猫3 小时前
探究StringBuilder和StringBuffer的线程安全问题
java·开发语言
jmxwzy3 小时前
Spring全家桶
java·spring·rpc
Halo_tjn3 小时前
基于封装的专项 知识点
java·前端·python·算法
春日见3 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶