力扣977-有序数组的平方

2023-11-04

有序数组的平方链接

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100],排序后,数组变为 [0,1,9,16,100]

这个题我上来就是每个都平方之后然后排序,哈哈哈,也就是下面这种傻蛋写法,都想到双指针了,结果双指针却用来计算平方了。

class Solution {
    public int[] sortedSquares(int[] nums) {
        int slow=0;
        for(int fast=0;fast<nums.length;fast++)
        {
            nums[slow]=nums[fast]*nums[fast];
            slow++;
        }
        Arrays.sort(nums);
        return nums;
    }
}

双指针法

数组其实是有序的, 只不过负数平方之后可能成为最大数了。
那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。
此时可以考虑双指针法了,l指向起始位置,r指向终止位置。
定义一个新数组arr,和nums数组一样的大小,利用temp的向后移动的操作来对新数组赋值

class Solution {
    public int[] sortedSquares(int[] nums) {
        int len=nums.length;
        int[]arr=new int [len];
        int r=len-1;
        int temp=arr.length-1;
        int l=0;
        while(l<=r)
        {
            if(nums[l]*nums[l]>nums[r]*nums[r])
            {
                arr[temp--]=nums[l]*nums[l];
                l++;
            }
            else {
                arr[temp--]=nums[r]*nums[r];
                r--;
            }
        }
        return arr;
    }
}

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

力扣977-有序数组的平方 的相关文章

随机推荐

  • Maximum Sum Subarray of Size K--滑动窗口题型

    滑动窗口题型 滑动窗口类型的题目经常是用来执行数组或是链表上某个区间 窗口 上的操作 比如找最长的全为1的子数组长度 滑动窗口一般从第一个元素开始 一直往右边一个一个元素挪动 当然了 根据题目要求 我们可能有固定窗口大小的情况 也有窗口的大
  • 电脑副业能做什么?一台电脑能做的副业

    现在很多人都想在工作之余开展一些副业 特别是今年经济形势不好 更让很多人明白了 有一份副业的重要性 这样可以在自己没有工作的时候还能有一份收入 那么有哪些副业可以在网络上做呢 如果你只有一台电脑的话 可以做哪些副业呢 1 自媒体 悟空问答或
  • Docker常用命令超细介绍,Java校招面试指南

    2 3 docker pull 前面我们介绍了 search命令可以从docker hub上搜索到相关的镜像 接下来看看我们通过docker pull 来下载镜像 docker pull 镜像名称 TAG 通过镜像加速下载还是比较快的 2
  • 解决下载github-production-release-asset-2e65be.s3.amazonaws.com上release文件慢的问题

    1 问题 去github下载BloomRPC工具进行测试grpc 果然一如既往的慢 想到把github转到码云进行下载 奈何我要下载的是release的文件 有两个代下地址 GitHub代下载服务 永久免费 这个最近貌似挂了 试试下面那个
  • java 之 反射 (结合Class理解)

    反射机制使静态语言java变为准动态语言 Reflection 反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息 并能直接操作任意对象的内部属性及方法 反射方式 实例化对象 getClass 方法 得到完整的
  • Keil MDK环境下FreeModebus移植踩坑记录

    Keil MDK环境下FreeModebus移植踩坑记录 文章目录 Keil MDK环境下FreeModebus移植踩坑记录 armcc arm compiler v5 环境 实验一 实验二 armclang arm compiler v6
  • NFTScan 与 Atem Network 在 NFT 数据领域达成战略合作

    近日 Web3 基础设施 NFTScan 浏览器与 Atem Network 协议达成战略合作伙伴关系 双方已在 NFT 数据领域展开深度了合作 Atem Network 是一个 Web3 社交平台 用户可以通过 NFT 创建 连接和拥有自
  • 蓝桥杯-刷题统计

    问题描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛 他计划周一至周五每天 做 aa 道题目 周六和周日每天做 bb 道题目 请你帮小明计算 按照计划他将在 第几天实现做题数大于等于 nn 题 输入格式 输入一行包含三个整数 a ba b
  • 联想笔记本BIOS设置中文详解

    对于很多新装系统的小伙伴们 可能很多都不是太懂BIOS中都是干什么用的 小编这里给大家详细介绍一下 联想笔记本的主板BIOS设置跟别的笔记本或许有些不同但大体相差不多 和大家分享一下 BIOS介绍 中文解释就是 基本输入输出系统 其实它是固
  • python关于初始化和实例化之----log日志打印两次的问题综述

    我在写appium desktop自动化框架的时候 我发现在我运行demo的时候 日志会运行两次 我查了一堆资料也没有发现我错在哪里 一 开始我以为是 init 的问题 我检查了 init 方法 发现他们属于同一对象 没有多余的对象 二 然
  • 5g信号频率是多少赫兹_我家WiFi也有“5G”,这是5G信号吗?

    大家都知道5G吧 5G是最近很火热的名词 大家都知道它和手机有关系 有些小伙伴在用手机和电脑连WiFi的时候 也能看到一些WiFi名字后面跟着一个 5G 这个 5G 是平时说的那个5G吗 答案是 否 5G是 5th generation m
  • 服务器拷贝文件工具,windows命令行下也有好工具(四)-拷贝文件到多台服务器...

    做系统管理员 经常需要从本机向多台服务器拷贝文件 或者从多台服务器向本机拷贝文件 如果使用windows界面 要一次次的点击鼠标进行操作 太麻烦了 在linux下可以使用scp命令 用一个脚本就可以解决 当然每次都要输入口令 也可以命令行带
  • [Python]网络爬虫 urllib爬虫案例

    urllib爬虫案例 爬取公众号文章中的图片 第1步 确定公众号文章的地址 以微信公众号 Python小屋 里的一篇文章为例 文章标题为 报告PPT 163页 基于Python语言的课程群建设探讨与实践 地址为 https mp weixi
  • Hadoop Mapreduce编程之Reduce端join实现

    1 数据准备 movies dat 数据格式 movieid moviename movietype ratings dat 数据格式 userid movieid rating timestamp 2 Mapper端开发 1 定义必要的变
  • virtualbox 清理磁盘占用空间

    目录 1 虚拟系统整理 2 压缩磁盘 1 虚拟系统整理 Windows虚拟机 下载sdelete工具 执行下面的命令 sdelete z c Linux虚拟机执行下面的命令 sudo dd if dev zero of EMPTY bs 1
  • 软件设计师考试内容复习(二)

    一 层次化存储结构 二 Cache Cache的功能 提高CPU数据输入输出的速率 突破CPU与存储系统间数据传输带宽限制 在计算机存储系统体系中 Cache是访问速度最快的层次 使用Cache改善系统性能的依据是程序的局部性原理 如果以
  • docker 镜像容器导入导出、查看日志、拷贝文件命令

    1 本地文件拷贝到docker 容器中 参考 docker cp root pcl pcl 1 8 1 tar gz 7ff95b333e12 docker cp root lib64 a 7ff95b333e12 2 docker从容器里
  • 蓝桥杯决赛真题——国王的遗产

    标题 国王的遗产 X国是个小国 国王K有6个儿子 在临终前 K国王立下遗嘱 国王的一批牛作为遗产要分给他的6个儿子 其中 大儿子分1 4 二儿子1 5 三儿子1 6 直到小儿子分1 9 牛是活的 不能把一头牛切开分 最后还剩下11头牛 分给
  • 5种开源虚拟化技术推荐

    zz http www oschina net news 14907 5 opensource virtualization soft 论坛 http bbs chinaunix net forum 283 1 html 虚拟化现在已经成为
  • 力扣977-有序数组的平方

    有序数组的平方链接 给你一个按 非递减顺序 排序的整数数组 nums 返回 每个数字的平方 组成的新数组 要求也按 非递减顺序 排序 示例 1 输入 nums 4 1 0 3 10 输出 0 1 9 16 100 解释 平方后 数组变为 1