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

解题思路:

方法一:先平方再快排

方法二:双指针

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

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

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

java 复制代码
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;
    }
}
相关推荐
aigcapi7 小时前
RAG 系统的黑盒测试:从算法对齐视角解析 GEO 优化的技术指标体系
大数据·人工智能·算法
苏宸啊8 小时前
链式二叉树基操代码实现&OJ题目
数据结构
风筝在晴天搁浅8 小时前
hot100 25.K个一组翻转链表
数据结构·链表
柯慕灵8 小时前
7大推荐系统/算法框架对比
算法·推荐算法
adam-liu8 小时前
Fun Audio Chat 论文+项目调研
算法·语音端到端·fun-audio-chat
小十一再加一8 小时前
【初阶数据结构】栈和队列
数据结构
栀秋6668 小时前
你会先找行还是直接拍平?两种二分策略你Pick哪个?
前端·javascript·算法
如果你想拥有什么先让自己配得上拥有8 小时前
数学思想和数学思维分别都有什么?
线性代数·算法·机器学习
长安er9 小时前
LeetCode136/169/75/31/287 算法技巧题核心笔记
数据结构·算法·leetcode·链表·双指针
MarkHD9 小时前
智能体在车联网中的应用:第29天 多智能体完全合作场景的核心算法:从CTDE思想到VDN与MADDPG的深度解析
算法