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

LeetCode:有序数组的平方

题目

给你一个按 非递减顺序 排序的整数数组 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]

提示:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums 已按 非递减顺序 排序

分析

这道题我们要抓住一个关键信息,那就是原数组是非递减的, 这样的话该数组平方后的最大值一定在这个数组的第一个或者最后一个元素。找到之后我们就可以将最大的元素放到新数组里面最大的位置上,依次类推。
这个时候我们就可以考虑使用双指针法了。
定义一个指针指向数组头元素,再定义一个指针指向数组最后一个元素。如果头元素的平方大于尾元素的平方,将最大值放到新数组最大值的位置上,头指针向前移动一格;反之,尾指针向后退一格。
代码(C语言):

int* sortedSquares(int* nums, int numsSize, int* returnSize){*returnSize=numsSize;  //新数组大小等于原数组大小int left=0,right=numsSize-1; //创建两个指针,right指向数组最后一位元素,left指向数组第一位元素int* ret=malloc(sizeof(int)*numsSize); //为新数组分配空间int i=numsSize-1;for(i=numsSize-1;i>=0;i--){if(nums[left]*nums[left]<nums[right]*nums[right]){//若右指针指向元素平方比左指针指向元素平方大,将右指针指向元素平方放入结果数组。右指针左移一位ret[i]=nums[right]*nums[right];right--;}else{//若左指针指向元素平方比右指针指向元素平方大,将左指针指向元素平方放入结果数组。左指针右移一位ret[i]=nums[left]*nums[left];left++;}}return ret;
}

相关文章:

LeetCode:有序数组的平方

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

数学分析:势场

首先从散度的物理解释开始。首先&#xff0c;在球内的向量场的散度的积分&#xff0c;等于它在球边界上的流量的积分。所以根据积分中值定理&#xff0c;我们可以这么理解散度&#xff0c;它就是这个体积内的速度场的平均密度。而速度场只和源有关&#xff0c;所以它表示的某个…...

MySQL 中 MyISAM 与 InnoDB 引擎的区别

分析&回答 区别很多&#xff0c;大家说出下面几点&#xff0c;面试就应该 OK 了 1) 事务支持 MyISAM不支持事务&#xff0c;而InnoDB支持。InnoDB的AUTOCOMMIT默认是打开的&#xff0c;即每条SQL语句会默认被封装成一个事务&#xff0c;自动提交&#xff0c;这样会影响速…...

【javascript】禁止浏览器调试前端页面

目录 为啥要禁止&#xff1f;无限 debugger基础禁止调试解决对策 为啥要禁止&#xff1f; 由于前端页面会调用很多接口&#xff0c;有些接口会被别人爬虫分析&#xff0c;破解后获取数据&#xff0c;为了杜绝这种情况&#xff0c;最简单的方法就是禁止人家调试自己的前端代码 …...

Oracle Non-CDB配置 TDE(透明数据加密) 的过程

说明 此文档虽然是针对non CDB而写&#xff0c;但是对于CDB的操作过程也是类似的&#xff0c;即在CDB$ROOT中设置完成wallet设置后&#xff0c;在PDB中设置和打开MEK即可。 先决条件 请确保目录$ORACLE_SID/admin/$ORACLE_SID存在&#xff0c;例如此目录为: /u01/app/oracl…...

MySQL——常见问题

NULL和空值的区别 1、空值不占空间&#xff0c;NULL值占空间。当字段不为NULL时&#xff0c;也可以插入空值。 2、当使用 IS NOT NULL 或者 IS NULL 时&#xff0c;只能查出字段中没有不为NULL的或者为 NULL 的&#xff0c;不能查出空值。 3、判断NULL 用IS NULL 或者 is no…...

在FPGA上快速搭建以太网

在本文中&#xff0c;我们将介绍如何在FPGA上快速搭建以太网 &#xff08;LWIP &#xff09;。为此&#xff0c;我们将使用 MicroBlaze 作为主 CPU 运行其应用程序。 LWIP 是使用裸机设计以太网的良好起点&#xff0c;在此基础上我们可以轻松调整软件应用程序以提供更详细的应用…...

如何防范 AI 盗取你的密码

现如今&#xff0c;随着人工智能&#xff08;AI&#xff09;应用的普及和快速迭代&#xff0c;几乎任何人都可以轻而易举地利用AI进行密码破解之类的攻击。这已经引起了业界的担忧。下面&#xff0c;我将围绕着&#xff1a;密码破解究竟意味着什么&#xff0c;基于AI的密码猜测…...

华清远见第六课程作业day3

类 栈 #include <iostream>using namespace std;class Sta{ private:int *data;int top; public:Sta():data(new int(128)){top-1;cout<<"stack::无参构造:"<<endl;}~Sta(){delete data;cout<<"stack::析构函数:"<<this<…...

Rabbitmq配置定义

RabbitMQ 环境变量 RabbitMQ 的环境变量都是以"RABBITMQ_"开头的&#xff0c;可以在Shell 环境中设置&#xff0c;也可以在配置文件中定义。默认的配置文件如下&#xff1a; ## /etc/rabbitmq/rabbitmq-env.conf 定义配置文件&#xff1a; /va/lib/rabbitmq/ 的目…...

2023年数模国赛时间分配

2023年数模国赛时间分配 写在前面赛前准备第一天&#xff08;9.7 18:00发布题目&#xff09;第二天&#xff08;9.8&#xff09;第三天&#xff08;9.9&#xff09;第四天&#xff08;9.10 20:00提交&#xff09;总结 写在前面 国赛马上就要开始啦 今年的比赛时间是9月7日&…...

kubernetes(K8S)笔记

文章目录 大佬博客简介K8SDocker VS DockerDockerK8S简介K8S配合docker相比较单纯使用docker 大佬博客 Kubernetes&#xff08;通常缩写为K8s&#xff09;是一个用于自动化容器化应用程序部署、管理和扩展的开源容器编排平台。它的构造非常复杂&#xff0c;由多个核心组件和附加…...

vue 部署到本机IIS 部署 SPA 应用

安装 URL Rewrite Works With: IIS 7, IIS 7.5, IIS 8, IIS 8.5, IIS 10 URL Rewrite : The Official Microsoft IIS Site 目前电脑IIS是6版本的&#xff0c;以下的方法不太合适操作。目前用Nginx部署&#xff0c;够用了。 nginx配置参考&#xff1a; uni-app 前面项目&am…...

面试那些事——Java全栈

今年年初因为个人的精神状态和职业方向辞职休息了一段时间&#xff0c;最近重新找了一份开发的工作&#xff0c;还是在太原&#xff0c;在这里分享一下自己的一些面试经验。 面试&#xff0c;面的是什么 我们要知道&#xff0c;目标的就职地行业的需求是什么&#xff0c;目标的…...

LINUX 文件基本管理

一、文件类型和根目录结构 1、文件类型 可以通过 ls -l 或者 ll来查看文件类型 可以根据显示&#xff0c;查看第一个字符&#xff0c;就表示文件类型。 - 字符&#xff1a;普通文件&#xff0c;类似于Windows的记事本。 d 字符&#xff1a;目录文件&#xff0c;类似于Wind…...

一、认识GitHub项目 —— TinyWebServer

认识GitHub项目 —— TinyWebServer 一、前言 这个项目是Linux下C轻量级Web服务器。几乎是想从事C服务器开发方向的同学的必备初始项目了。属于那种&#xff0c;“烂大街”&#xff0c;但是你又不能不会的项目。 对这个项目笔者打算多分几章讲解&#xff0c;帮助刚用GitHub&a…...

66.C++多态与虚函数

目录 1.什么是多态 2.多态的分类 3.对象转型 3.1 向上转型&#xff1a; 3.2 向下转型&#xff1a; 4.虚函数 1.什么是多态 生活中的多态&#xff0c;是指的客观的事物在人脑中的主观体现。例如&#xff0c;在路上看到⼀只哈士奇&#xff0c;你可以看做是哈士奇&#xf…...

【ICer的脚本练习】通过perl脚本来检查仿真log的结果

系列的目录说明请见:ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客 前言 这是一个非常简单的perl脚本示例,展示一下perl语言“极简”的编码习惯。perl是我脚本入门的语言,一度也是最擅长的,但是因为python的强势现在我基本不写perl了。上一个大的perl脚本…...

创邻科技图数据库课程走进一流高校

《图数据库原理和实践》 正式开课&#xff01; 最近&#xff0c;浙江大学计算机学院新开了一门名为 《图数据库原理和实践》 的新课程&#xff0c;该课程由创邻科技和浙江大学联合推出&#xff0c;吸引了许多学生踊跃参与&#xff01; 曾为浙大学子的创邻科技CTO周研博士作为…...

RabbtiMQ的安装与在Springboot中的使用!!!

一、安装Erlang与Rabbitmq 安装教程本教程是在centos8下试验的&#xff0c;其实linux系统的都差不多RabbitMQ官方&#xff1a;Messaging that just works — RabbitMQRabbitMQ是开源AMQP实现&#xff0c;服务器端用Erlang语言编写&#xff0c;Python、Ruby、 NET、Java、JMS、c…...

【可定制、转换时间戳】解析nc文件,并保存为csv文件

解析nc文件&#xff0c;并保存为csv文件 写在最前面解析nc文件&#xff08;代码汇总放最后面&#xff09;读取nc文件获取气象文件中所有变量解析时间解析部分代码汇总 写入csv文件 写在最前面 愿称之为&#xff1a;支持私人订制、非常完美的版本 参考&#xff1a; 解析部分参…...

介绍串行和并行两种通信方式

前言 参考文章&#xff1a; 串行和并行- CSDN搜索 并行传输和串行传输的区别_金陵大掌柜的博客-CSDN博客 串行和并行介绍 &#xff08;1&#xff09;串行和并行是计算机领域中两个重要的概念。串行是指在计算机中&#xff0c;任务按照顺序一个一个执行&#xff0c;每个任务执行…...

优化爬虫效率:利用HTTP代理进行并发请求

网络爬虫作为一种自动化数据采集工具&#xff0c;广泛应用于数据挖掘、信息监测等领域。然而&#xff0c;随着互联网的发展和网站的增多&#xff0c;单个爬虫往往无法满足大规模数据采集的需求。为了提高爬虫的效率和性能&#xff0c;我们需要寻找优化方法。本文将介绍一种利用…...

关于磁盘空间不够,导致报错 springboot内置tomcat相关的临时目录无法创建等问题,如何自定义配置 tomcat 缓存文件路径

问题 关于磁盘空间不够&#xff0c;导致报错 springboot内置tomcat相关的临时目录无法创建等问题&#xff0c;如何自定义配置 tomcat 缓存文件路径 解决方法&#xff1a; shell 脚本命令&#xff1a;&#xff08;配置自定义缓存路径 java-Djava.io.tmpdir &#xff09; tmp…...

Android HAL - hidl-gen

1.hidl-gen的使用 hidl-gen 编译器会将 .hal 文件编译成一组 .h 和 .cpp 文件,这些 自动生成的文件用于编译客户端 / 服务端实现链接到的共享库,同 时也可以生成 Android.bp 编译文件。 1.1 生成的文件 HIDL 软件包中自动生成的文件会关联到与该软件…...

CGAL 数值类型

文章目录 一、简介二、内置数值类型三、CGAL提供的数值类型四、GMP提供的数值类型五、LEDA提供的数值类型六、CORE提供的数值类型七、区间运算参考资料一、简介 数字类型必须满足一定的语法和语义要求,这样它们才能在CGAL代码中成功使用。一般来说,它们被认为是一个代数结构概…...

建站系列(六)--- 后端开发语言

目录 相关系列文章前言一、常见后端开发语言二、PHP三、Java四、Python五、Go 相关系列文章 建站系列&#xff08;一&#xff09;— 网站基本常识 建站系列&#xff08;二&#xff09;— 域名、IP地址、URL、端口详解 建站系列&#xff08;三&#xff09;— 网络协议 建站系列…...

王道数据结构编程题 查找

二叉树定义 以下为本文解题代码的二叉树定义。 struct TreeNode {int val;TreeNode* left, *right;TreeNode(int val 0, TreeNode* left nullptr, TreeNode* right nullptr): val(val), left(left), right(right) {} };递归二分查找 题目描述 写出二分查找的递归算法。初…...

vue 部分知识点总结

计算属性和方法有什么区别&#xff0c;怎么选择&#xff1f; 在编程中&#xff0c;计算属性和方法都是用于处理数据的工具&#xff0c;但它们有一些区别。以下是它们的区别和如何选择的几个因素&#xff1a; 执行方式&#xff1a;计算属性是基于依赖的响应式系统&#xff0c;在…...

谷粒商城----ES篇

一、product-es准备 P128 ES在内存中&#xff0c;所以在检索中优于mysql。ES也支持集群&#xff0c;数据分片存储。 需求&#xff1a; 上架的商品才可以在网站展示。上架的商品需要可以被检索。 分析sku在es中如何存储 商品mapping 分析&#xff1a;商品上架在es中是存s…...

wordpress版本编辑/做个网站需要多少钱

JAVA中的每个对象都可以用作一个实现同步的锁&#xff0c;这种称为内置锁&#xff0c;内置锁是可重入的&#xff0c;因此如果某个线程试图获取一个已经由它自己持有的锁&#xff0c;那么这个请求就会成功。 重入的实现方法是&#xff0c;为每个锁关联一个获取计数值和一个所有…...

拼多多网站怎么做/企业网站建设推广

AOP是OOP的延续&#xff0c;是Aspect Oriented Programming的缩写&#xff0c;意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续&#xff0c;设计模式孜孜不倦追求的是调用者和…...

常州网站推广排名/百度seo快速排名优化

接触 DeviceOne 要从15年11月开始说起了&#xff0c;因项目和产品时间需求接触了快速开发平台&#xff0c;DeviceOne是非常棒的一个平台&#xff0c;双向数据绑定&#xff0c;可以自定义指令&#xff0c;过滤器等等。总之非常好用完全超出了我们功能需求。之后我们使用了混合型…...

有哪些调查网站可以做兼职/朋友圈网络营销

从上往下一一对应...

网站建设公司的职责/软文广告经典案例100字

rsyslog分为服务端和客户端客户端rsyslog配置文件配置一下几条比较有用$ActionQueueType LinkedList # use asynchronous processing 开启缓存队列$ActionQueueFileName backup_local # set file name, also enables disk mode 如果客户端挂了&#xff0c;缓存队列写到本地ba…...

wordpress换背景/长沙网站优化对策

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid4415 题意&#xff1a;一个杀手&#xff0c;有m的攻击力&#xff0c;n个敌人。每个敌人有两个属性ai,bi&#xff0c;表示杀死这个敌人需要ai的攻击力&#xff0c;杀死该敌人后&#xff0c;可以再免费杀死bi个其…...