当前位置: 首页 > article >正文

力扣 LeetCode 977. 有序数组的平方(Day1:数组)

解题思路:

方法一:先平方再快排

方法二:双指针

因为可能有负数,所以对于一个数组 [ -5 , -3 , 0 , 2 , 4 ] 可以从两边向内靠拢,最大值一定出现在两端

设置指针 i 和指针 j 分别从左右两边靠拢

因为要从小到大排序,所以用 k 倒着赋值即可

class Solution {
    public int[] sortedSquares(int[] nums) {
        int i = 0;
        int j = nums.length - 1;
        int k = nums.length - 1;
        int[] res = new int[nums.length];

        while (i <= j) {
            if (nums[i] * nums[i] < nums[j] * nums[j]) {
                res[k] = nums[j] * nums[j];
                k--;
                j--;
            } else {
                res[k] = nums[i] * nums[i];
                k--;
                i++;
            }
        }

        return res;
    }
}


http://www.kler.cn/a/391140.html

相关文章:

  • (干货)Jenkins使用kubernetes插件连接k8s的认证方式
  • C/C++精品项目之图床共享云存储(3):网络缓冲区类和main
  • 区块链技术在慈善捐赠中的应用
  • openSUSE 环境下通过 zypper 安装软件
  • 车载空气净化器语音芯片方案
  • 040 线程池
  • qt ui设计案例--登录界面
  • 【AI日记】24.11.08 Knowledge Graphs for RAG (知识图谱,Neo4j,Cypher)
  • Go/Golang语言各种数据类型内存字节占用大小和最小值最大值
  • NVR批量管理软件/平台EasyNVR多个NVR同时管理基于端-边-云架构的智能视频融合云平台
  • golang分布式缓存项目 Day1 LRU 缓存淘汰策略
  • CatBoost中的预测偏移和排序提升
  • 数据结构-递归函数的调用栈过程
  • 如何编写jenkins的流水线
  • DB-GPT系列(四):DB-GPT六大基础应用场景part1
  • C#中Task和Thread的全解析
  • C++编程:嵌入式Linux-ARM与外设中断交互的程序设计
  • 【疑难杂症】电脑休眠后无法开机,进入 steamVR 时电脑突然黑屏关机
  • React官网生成Recat项目的区别
  • hbase的安装与简单操作
  • C语言实现IIR型零相位带通滤波器
  • 如何使用XSL-FO生成PDF格式的电子发票的技术博文示例
  • 负梯度方法与Newton型方法-数值最优化方法-课程学习笔记-4
  • Spring Boot基础教学:Spring Boot的核心特性
  • sql表的约束练习题
  • git commit 校验