/**
* 977. 有序数组的平方
* @author wsq
* @date 2020/10/17
给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。
示例 1:
输入:[-4,-1,0,3,10]
输出:[0,1,9,16,100]
示例 2:
输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]
链接:https://leetcode-cn.com/problems/squares-of-a-sorted-array
*/
package com.wsq.sort;
public class SortedSquares {
/**
* 由于原数组时非递减的数组,因此,平方大的在数组两端
* 所以采用左右双指针的形式遍历数组,并新生成一个数组存储平方值
* @param A
* @return
*/
public int[] sortedSquares(int[] A) {
int n = A.length;
if(n == 0){
return A;
}
int[] ans = new int[n];
int left = 0;
int right = n - 1;
int pos = n-1;
while(left <= right){
int tmpRight = A[right] * A[right];
int tmpLeft = A[left] * A[left];
if(tmpRight > tmpLeft){
ans[pos--] = tmpRight;
right--;
}else{
ans[pos--] = tmpLeft;
left++;
}
}
return ans;
}
}
相关推荐
谷歌倾斜摄影数据获取以及转换3DTiles介绍
解析谷歌倾斜模型数据,再一键设置无人值守的情况下,快速将谷歌倾斜摄影模型数据转成3DTiles数据,并在Cesium上进行流畅漫游缩放显示,效果优于官方3DTiiles格式数据
javascript字典中添加数组_javascript中数组的克隆实践一
关键词克隆;复制;浅拷贝;深拷贝;浅拷贝slice();concat();扩展运算符;Object.assign()/ slice() /slice()方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不`会被改变。示例1 var arr = [0,1,2,3,4]; const newArr= arr.slice(...
STM32F407VET6与CH395Q串口通信实战:从零搭建以太网客户端(附完整代码)
本文详细介绍了基于STM32F407VET6微控制器与南京沁恒微CH395Q以太网芯片,通过串口通信从零搭建TCP客户端应用的完整实战过程。内容涵盖硬件连接、驱动层设计、基于FreeRTOS的任务实现以及核心调试技巧,并提供了完整的代码示例,帮助嵌入式开发者快速实现设备联网功能。
JS--数组和字典
JS--数组和字典 定义数组 var my_array= new Array(); 一、JS数组 JavaScript中的数组类似于Python的列表 https://www.cnblogs.com/bigberg/p/9237856.html 1 a = [11,22,33,44] 常见功能: 1 ...
Win10系统权限深度解析:如何安全地将C盘所有者从TrustedInstaller变更为Administrators
本文深入解析了Win10系统中C盘文件权限管理的核心机制,解释了为何管理员账户(Administrators)默认无法修改由TrustedInstaller保护的系统文件。文章在强调安全风险的前提下,详细提供了通过图形界面和命令行两种方式,将文件或文件夹所有权从TrustedInstaller安全变更为Administrators的实操步骤,并给出了关键的风险预警与权限恢复方法。
TC397 EB MCAL开发从0开始系列 之 [17.1] ETH配置实战 - ping/发送
TC397 MCAL 从0开始之 ETH ping测试
JavaScript的数组和字典的用法
JavaScript 数组有许多内置方法,例如 push()、pop()、shift()、unshift()、splice()、concat()、join()、slice()、filter()、map() 等,用于执行各种操作,如添加、删除、切片、过滤、映射等。JavaScript 中的数组是一种用于存储多个值的数据结构,它可以容纳不同类型的数据(例如数字、字符串、对象等)。ES6 引入了 Map 数据结构,它提供了一种更强大的字典类型,可以支持各种数据类型作为键,而不仅限于字符串。
【Charge】仿真目录
Author: JiJi\textrm{Author: JiJi}Author: JiJi Created Time: 2026.01.20\textrm{Created Time: 2026.01.20}Created Time: 2026.01.20 Modified Time: 2026.01.20\textrm{Modified Time: 2026.01.20}Modified Time: 2026.01.20工作流程材料模型[Charge] 电荷分布与折射率变化理论 [Charge] FDTD
js 字典的使用(入门级)
js 字典的使用
AutoSAR MemMap模块概述及配置参数详解
这个模块是干啥的?它是用来配置Memory Mapping and Compiler Abstraction module。
MCAL中Dsadc的配置
DSADC模块作为一个专用的模块,主要应用在编码器软解码,功能强大而复杂,这里介绍了Dsadc的mcal配置和详细描述,让你全面学习和理解这个模块功能和应用。
JS中数组(Array)和字典(Map)的常用方法和属性
0. 数组 Array [ ] 初始化 var arr1 = new Array(); var arr2 = []; var arr3 = [1, 2, 3]; 添加元素 - push 向数组的末尾添加一个或更多元素,并返回新的长度。 arr1.push(1); arr1.push('aaa', 'bbb'); 与push相反的方法:unshift 向数组的开头...
DeepSeek如何构建可扩展的 AI 驱动交易系统,基于 MetaTrader 5 与 Python 利用先进的数据处理、机器学习和容器化部署来优化算法交易。
MT5 Python API 架构设计分为三层:通信层:利用异步消息传递(例如 ZeroMQ 或标准套接字编程)支持每秒数万个数据请求。转换层: C++ 动态库有效地将 MT5 命令转换为 Python 对象(反之亦然),从而优化速度和内存使用率。接口层:提供Pythonic API,封装了所有终端功能,包括:1)实时价格订阅(滴答或秒级更新)2)历史数据检索(从M1到更高的时间范围)3)订单流监控(交易详情和市场深度)4)策略执行引擎(用于算法交易)
LeetCode 977 题:有序数组的平方
LeetCode 第977题要求给定一个按非降序排列的整数数组nums,返回每个数字的平方并按升序排列。
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
算法第六天:力扣第977题有序数组的平方
排序后,数组变为 [0,1,9,16,100]平方后,数组变为 [16,1,0,9,100]组成的新数组,要求也按。
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
leetcode977. 有序数组的平方
文章目录题目:977. 有序数组的平方基本思想:双指针 题目:977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 2: 输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121] 提示: 1 <= A.length <= 10000 -10000 <= A[i] <= 10000 A 已按非递减顺序排序。
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
20190604-Leetcode-977. 有序数组的平方
Leetcode-977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 2: 输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121] 提示: 1 <= A.length <= 10000 -10000 <=...
【leetcode】977. 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。判断左右两边的平方,将大的平方放在右边,右边的指针-1。解释:平方后,数组变为 [16,1,0,9,100]输入:nums = [-4,-1,0,3,10]输入:nums = [-7,-3,2,3,11]排序后,数组变为 [0,1,9,16,100]输出:[0,1,9,16,100]输出:[4,9,9,49,121]非递减顺序:才能使用双指针。直接平方,使用sorted。
Leetcode 977 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 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]提示:nums 已按 非递减顺序 排序。
leetcode-977. 有序数组的平方
【代码】leetcode-977. 有序数组的平方。
【ARTS】【LeetCode-977】有序数组的平方
【LeetCode-977】有序数组的平方解题方法
leetcode 977. 有序数组的平方
leetcode 977. 有序数组的平方 题目描述: 给你一个按 非递减顺序 排序的整数数组 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] 解题分析: 方法一:暴力解法 首先就是
Leecode:977. 有序数组的平方
使用两个指针分别指向位置 0 和 lenglength−1,每次比较两个指针对应的数,除了存储答案的数组以外,我们需要 O(logn) 的栈空间进行排序。我们会发现,暴力解法为两步:①先把数组中的元素变为平方。除了存储答案的数组以外,我们只需要维护常量空间。:O(nlogn),其中 n 是数组 nums 的长度。:O(n),其中 n 是数组 nums 的长度。平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]题目说的有序数组,有三种情况。组成的新数组,要求也按。
LeetCode 977 有序数组的平方
算法:数组
LeetCode 977. 有序数组的平方
1.题目 示例: 。 来源:力扣(LeetCode) 链接: 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 2.题解 。 时间复杂度: 空间复杂度:
Leetcode 977. 有序数组的平方
如果A[i] * A[i] >= A[j] * A[j] 那么result[k–] = A[i] * A[i];如果A[i] * A[i] < A[j] * A[j] 那么result[k–] = A[j] * A[j];给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。
5338



被折叠的 条评论
为什么被折叠?



