LeetCode977:有序数组的平方

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

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

解题思想1
平方后直接使用排序

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {for(int i=0;i<nums.size();i++){nums[i]=nums[i]*nums[i];}sort(nums.begin(),nums.end());return nums;}
};

解题思想2
使用双指针分别指向数组的头和尾部,因为头部和尾部的平方是最大的(如果存在负数),然后将二者进行对比。

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {vector<int> ans(nums.size());int i = nums.size() - 1;int l = 0, r = nums.size()-1;while (l <= r) {if (abs(nums[l]) >=abs(nums[r])) {ans[i--] = nums[l] * nums[l];l++;}else {ans[i--] = nums[r] * nums[r];r--;}}return ans;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/726136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用MII接口详解

开放式系统互连 (OSI) 模型 七层开放系统互连 (OSI) 模型中&#xff0c;以太网层 位于最底部两层 - 物理层和数据链路层。 从百兆以太网接口开始 首先是百兆以太网规定的两种接口 介质无关接口 (MII) Media Independent Interface 介质相关接口 (MDI) Medium Depen…

深入探讨javascript的流程控制与分支结构,以及js的函数

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属的专栏&#xff1a;前端泛海 景天的主页&#xff1a;景天科技苑 文章目录 1.流程控制与分支结构1.if分支结构2.switch case 分支结构3.循环结…

Linux程序崩溃调试

一、简单点的 编译时主动带-g&#xff0c;生成的程序带调试信息&#xff0c;而且开启生成dump文件&#xff0c;这时候可以使用core dump来调试程序&#xff0c;定位问题。可以参考&#xff1a;linux 程序crash 调试、原因分析及问题定位-CSDN博客 二、稍微复杂点 假设生成的可执…

九型人格测试,7号活跃型人格的职业分析

九型人格中的7号人格&#xff0c;也叫活跃型人格&#xff0c;正如名字所形容的那样&#xff0c;一个活跃型人格的人&#xff0c;会让你体会到生活的乐趣。跟他们在一起的时候&#xff0c;永远不会感到无聊&#xff0c;即便是在停电的下午&#xff0c;也能在屋子里愉快的折腾。活…

【RK3288 Android6, T8PRO 快捷按键 gpio 配置上拉输入】

文章目录 【RK3288 Android6&#xff0c; T8PRO 快捷按键 gpio 配置上拉输入】需求开发过程尝试找到没有用的上拉gpio尝试修改pwm1的gpio的默认上拉模式 改动 【RK3288 Android6&#xff0c; T8PRO 快捷按键 gpio 配置上拉输入】 需求 T8pro想要模仿T10 的 快捷按键&#xff…

MyBatisPlus(SpringBoot版)的分页插件

目录 一、前置工作: 1.整体项目目录结构 2.创建普通javamaven项目。 3.导入依赖&#xff0c;改造成springboot项目 4.配置启动类 5.创建service接口及其实现类 6.创建接口Mapper 7.配置数据源 8.创建数据库表 二、使用MP&#xff08;mybatisplus&#xff09;的分页插件 二、使…

Day1 DOM元素

1.1 DOM前言 &#xff08;1&#xff09;Web API 作用和分类 作用&#xff1a; 就是使用 JS 去操作 html 和浏览器 分类&#xff1a; DOM&#xff08;文档对象模型&#xff09; BOM&#xff08;浏览器对象模型&#xff09; &#xff08;2&#xff09;什么是DOM DOM&#x…

如何用selenium或pyppeteer来链接并打开指纹浏览器AdsPower【最新版】

前言 本文是该专栏的第66篇,后面会持续分享python爬虫干货知识,记得关注。 在本专栏之前,针对使用Python的Selenium或者Pyppeteer来链接并打开AdsPower指纹浏览器的方法,笔者前面都有详细介绍并附带完整操作代码。感兴趣的同学,可以往前翻阅查看。 1.如何用selenium或py…

02.URL的基本知识和使用

一.认识 URL 1. 为什么要认识 URL ? 虽然是后端给我的一个地址&#xff0c;但是哪部分标记的是服务器电脑&#xff0c;哪部分标记的是资源呢&#xff1f;所以为了和服务器有效沟通我们要认识一下 2. 什么是 URL &#xff1f; 统一资源定位符&#xff0c;简称网址&#xff…

GWO-RF|灰狼算法优化随机森林 回归预测|多变量回归预测

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 灰狼优化算法&#xff1a; 随机森林&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; …

疾控中心污水采样器自动采样——解放双手更轻松

疾控中心使用的污水采样器如今已经实现了自动化采样&#xff0c;这无疑给工作人员带来了极大的便利。这种设备能够完成污水取样、储存等环节&#xff0c;不再需要人工干预。这意味着工作人员可以解放双手&#xff0c;不再需要进行繁重的取样工作。 这种自动化的采样方式不仅减轻…

First-Time Git Setup (初次运行 Git 前的配置)

First-Time Git Setup [初次运行 Git 前的配置] 1. git config1.1. Your Identity (用户信息)1.2. 提高命令输出的可读性1.3. Your default branch name1.4. Checking Your Settings (检查配置信息) References Pro Git (SECOND EDITION) https://git-scm.com/book/en/v2 Pro …

【汇总】pytest简易教程

pytest作为python技术栈里面主流、火热的技术&#xff0c;非常有必要好好学一下&#xff0c;因为工作和面试都能用上&#xff1b; 它不仅简单易用&#xff0c;还很强大灵活&#xff0c;重点掌握fixture、parametrize参数化、allure-pytest插件等&#xff0c;这些在后续自动化框…

python转换json

import json import os from enum import Enumclass LaneDirectionType(int, Enum):LaneDirectionType_Unknown -1 # 类型未知OneWay 1 # 单向TwoWay 2 # 双向# 颜色类型 class ColorCombo(int, Enum):NOUSE 0 # 默认值UNKNOWN 1000 # 未定义WHITE 1 # 白色(默认值…

ffmpeg maxrate 导致转码输出的内容包含随机性

https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate 问题 领导提出了一个问题&#xff0c;为什么转码后的视频大小字节数据都不一样&#xff0c;这问到我了&#xff0c;一时语塞。查一下吧&#xff0c;没有什么资料支撑。主动试一下。 尝试 首先尝试一下直接…

C#,动态规划的集合划分问题(DP Partition problem)算法与源代码

1 动态规划问题中的划分问题 动态规划问题中的划分问题是确定一个给定的集是否可以划分为两个子集&#xff0c;使得两个子集中的元素之和相同。 动态规划&#xff08;Dynamic Programming&#xff0c;DP&#xff09;是运筹学的一个分支&#xff0c;是求解决策过程最优化的过程…

云计算高级课程作业

1、openEuler 二进制方式安装MySQL 8.0.x。 2、备份数据库 3.备份数据库school到/backup目录 4.备份MySQL数据库为带删除表的格式&#xff0c;能够让该备份覆盖已有数据库而不需要手动删除原有数据库 5.直接将MySQL数据库压缩备份 实验操作&#xff1a; 1、openEuler 二进制方…

Python基础一

Python是一门简单的编程语言&#xff0c;适用于人工智能、web应用、爬虫程序、大数据等方面 一、Python语言特点 Python 是一种功能强大且流行的编程语言&#xff0c;具有许多特点&#xff0c;其中一些包括&#xff1a; 1. **易学易用** Python 的语法简洁清晰&#xff0c;类…

[赛码网、牛客刷题、ACM模式] python读取输入

文章目录 内容描述读取输入常用的字符串、列表处理手段 内容描述 在一些面试或笔试过程中&#xff0c;可能会遇到需要自己写读取输入&#xff0c;习惯了力扣刷题的话&#xff0c;会有些不习惯&#xff0c;面试过程中就非常麻烦了。 今天刚好有一位朋友遇到该问题&#xff0c;所…

【go语言开发】gorm库连接和操作mysql,实现一个简单的用户注册和登录

本文主要介绍使用gorm库连接和操作mysql&#xff0c;首先安装gorm和mysql依赖库&#xff1b;然后初始化mysql&#xff0c;配置连接池等基本信息&#xff1b;然后建表、完成dao、controller开发&#xff1b;最后在swagger中测试 文章目录 前言安装依赖库数据库初始化账号注册和登…