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

双指针之有序数组的平方

1.题目:977. 有序数组的平方 - 力扣(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.参考代码

今天的这道题很简单,应该一下就能想出来,碰到这种简单题,突然莫名自信了,虽然都是假象,哈哈哈

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {// 盯住关键词“非递减顺序”,--->可以用收尾双指针// 只需将两个指针指向的值最大的那个,从后往前倒着放到新数组中即可int n = nums.size();vector<int> res(n);int l = 0;int r = n - 1;while (l <= r) {int n1 = nums[l] * nums[l];int n2 = nums[r] * nums[r];if (n1 <= n2) {res[n - 1] = n2;r--;} else {res[n - 1] = n1;l++;}n--;}return res;}
};

相关文章:

  • 航电系统之自动控制系统篇
  • MulanPSL-1.0开源协议
  • 衡石ChatBI:依托开放架构构建技术驱动的差异化数据服务
  • 该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消(C)”按钮以防损坏解决方法
  • VSCode中安装GitGraph
  • 3.6/Q1,Charls数据库经典文章解读
  • Python设计模式:对象池
  • 金融数据分析(Python)个人学习笔记(11):回归分析
  • el-popover实现下拉滚动刷新
  • Java1.8原生http 与SSM Jetty性能对比
  • 数据库MySQL学习——day1(创建表与数据类型)
  • Linux开机自动挂载磁盘方法
  • 01.Python代码Pandas是什么?pandas的简介
  • org.springframework.beans.factory.config.YamlPropertiesFactoryBean 类详解
  • StarRocks 异常 Table creation timed out.
  • U535982 J-A 小梦的AB交换 题解
  • 安全调度系统:安全管理的智能中枢
  • 从零学会epoll的使用和原理
  • Function calling, 模态上下文协议(MCP),多步能力协议(MCP) 和 A2A的区别
  • Vue3+TS中svg图标的使用-@unocss/preset-icons
  • 神舟二十号主要目的发布,在空间站驻留约6个月
  • 旁白丨无罪后领到国家赔偿,一位退休教师卸下了“包袱”
  • 世界读书日丨“好书最美”,国家图书馆举办读书日特别活动
  • 牛市早报|现货黄金价格站上3400美元,上交所召开私募机构座谈会
  • 官方披露:定西民政局原局长将收受烟酒高价“倒卖”给单位,用于违规接待
  • 明查|俄罗斯征兵部门突袭澡堂抓捕壮丁?