【leetcode】977. 有序数组的平方(easy)

news/2024/10/30 11:27:21/

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

示例 1:

输入:nums = [-4,-1,0,3,10]
输出:[0,1,9,16,100]
解释:平方后,数组变为 [16,1,0,9,100] ,排序后,数组变为 [0,1,9,16,100]

示例 2:

输入:nums = [-7,-3,2,3,11]
输出:[4,9,9,49,121]

思路:不论数组中有正有负、全正还是全负,取平方后最大的数值必定在两端中。那么双指针指向首尾,倒序遍历result数组,并判断双指针数值大小,移动指针即可。

解答

class Solution {public int[] sortedSquares(int[] nums) {int[] result = new int[nums.length];int startIndex = 0, endIndex = nums.length - 1;for (int i = nums.length - 1; i >= 0; i--) {int startNum = Math.abs(nums[startIndex]);int endNum = Math.abs(nums[endIndex]);if (startNum < endNum) {result[i] = endNum * endNum;endIndex--;} else {result[i] = startNum * startNum;startIndex++;}}return result;}
}

http://www.ppmy.cn/news/991455.html

相关文章

linux nginx 布置方案

一、安装前的准备 1 安装编译工具&#xff08;nginx安装之前需要编译&#xff09; yum install -y gcc gcc-c2安装PCRE #2.1下载wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz#2.2 解压tar -zxvf pcre-8.35.tar.gz#2.3进入目录cd pre-8.3…

ROS中使用RealSense-D435

文章目录 D435简介RealSense的SDK2.0安装方法1&#xff1a;直接利用安装源安装注册服务器公匙将服务器添加到存储库列表安装库 方法2&#xff1a;利用源码安装GitHub下载librealsense安装编译依赖运行脚本cmake编译 软件显示 ROS接口安装启动节点查看话题rviz显示点云 Python接…

一、SpringBoot基础[日志]

一、日志 解释&#xff1a;SpringBoot使用logback作为默认的日志框架&#xff0c;其中还可以导入log4j2等优秀的日志框架 1.修改日志内容 修改整个日志格式&#xff1a;logging.pattern.console%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{15} 你好 %msg%n %d{yyy…

华为openGauss数据库入门 - gsql用法

目录 1.1 gsql的语法 1.2 gsql常用选项 1.2.1 最常用的必要选项 1.2.2 -r选项 1.2.3 -E选项 1.2.4 -t选项 1.2.5 -A选项 1.2.6 -v选项 1.2.7 -c选项 1.2.8 -f选项 1.2.9 -q选项 1.3 gsql的元命令 1.3.1 \l命令 1.3.2 \du命令和\dg命令 1.3.3 \db命令 1.3.4 \d…

[SQL挖掘机] - 窗口函数 - rank

介绍: rank() 是一种常用的窗口函数&#xff0c;它为结果集中的每一行分配一个排名&#xff08;rank&#xff09;。这个排名基于指定的排序顺序&#xff0c;并且在遇到相同的值时&#xff0c;会跳过相同的排名。 用法: rank() 函数的语法如下&#xff1a; rank() over ([pa…

数字转义汉字数字显示的简单研究

最近有个需求&#xff0c;需要显示汉字数字&#xff0c;比如一二三四五…这样子&#xff0c;问题看起来挺简单&#xff0c;但我没有找到有自带这样的转换的方法&#xff0c;数字转汉字数字&#xff0c;挺有意思的&#xff0c;就简单研究了一下&#xff1b; 百度了一下&#xff…

ARM基础(6):内存屏障指令之DMB、DSB和ISB详解

内存屏障是一个通用术语&#xff0c;用于指代一条或多条指令&#xff0c;它们强制处理器在执行加载(load)或存储(store)指令时进行同步事件。ARMv7-M 和 ARMv6-M架构都提供了三个内存屏障指令来支持内存顺序模型。这三个内存屏障指令分别是&#xff1a;DMB、DSB和ISB。 文章目录…

MYSQL要一系列相同的数据类型才能使用多重排序,如果破防了就可以像我这次一样去用内嵌查询:就能实现对不同数据类型的多次排序

MYSQL要一系列相同的数据类型才能使用多重排序,如果破防了就可以像我这次一样去用内嵌查询:就能实现对不同数据类型的多次排序 <select id"getPage" resultType"com.wty.models.task.domain.Task"><if test"priorityType true">SEL…