leetcode每日一练-第977题-有序数组的平方

news2024/10/5 19:21:12

一、思路

双指针

二、 解题方法

i指向起始位置,j指向终止位置。

定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。

如果A[i] * A[i] < A[j] * A[j] 那么result[k--] = A[j] * A[j]; 。

如果A[i] * A[i] >= A[j] * A[j] 那么result[k--] = A[i] * A[i];

一次比较一头一尾两个数字,将最大的数字依次倒着填入result中。如果最后一个数字大于第一个数字则将末尾指针向前移动一个,同时将平方数填入result中;如果第一个数字大于最后一个数字,则将起始指针向后移动一个,同时将平方数填入result中。

class Solution {
public:
  vector<int> sortedSquares(vector<int>& nums) {
      int k=nums.size()-1;
      vector<int> result(nums.size(),0);// 这行代码创建了一个名为 result 的整数向量(vector),并将其初始化为指定大小,并且所有元素的初始值都设置为 0。
      for(int i=0,j=nums.size()-1;i<=j;)
      {
          if(nums[i]*nums[i] < nums[j]*nums[j])
          {
              result[k--]=nums[j]*nums[j];
              j--;
          }
          else
          {
              result[k--]=nums[i]*nums[i];
              i++;
          }
      }
      return result;

  }
};

=========================================================================学到的知识:

1、创建指定初始大小的数组

 vector<int> result(nums.size(),0);// 这行代码创建了一个名为 result 的整数向量(vector),并将其初始化为指定大小,并且所有元素的初始值都设置为 0。

2、注意这里循环了条件不能写成for(int i=0,j=nums.size()-1;i<=j;i++,j--)

不然只能比较对应位置的一头一尾的大小,而不能升序排列整个数组

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

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

相关文章

Echarts使用感受

目录 数据处理 遇到的问题 更换echart主题 Y轴数字后添加百分比号 eCharts饼图显示百分比 echarts自定义主题的手把手教学 查看UI图 点击下方链接页面的定制主题按钮 点击下载主题 点击主题下载的JSON版本&#xff0c;点击复制 ​编辑 新建js文件&#xff0c;把复制的…

【Java】什么是API

API (Application Programming Interface,应用程序编程接口) Java中的API 指的就是 JDK 中提供的各种功能的 Java类&#xff0c;这些类将底层封装起来&#xff0c;我们不需要关心这些类是如何实现的&#xff0c;只需要学习这些类如何使用即可&#xff0c;我们可以通过帮助文档…

二、监控搭建-Prometheus-采集端部署

二、监控搭建-Prometheus-采集端部署 1、背景2、目标3、传承4、操作 1、背景 在上一篇中我们搭建了Prometheus平台&#xff0c;平台的搭建跟Linux系统上面安装了vim软件一样&#xff0c;给的只是一个很好的铸剑玄铁&#xff0c;具体的使用需要打磨和配件的运用。 2、目标 使…

XGBoost 2.0:对基于树的方法进行了重大更新

XGBoost是处理不同类型表格数据的最著名的算法&#xff0c;LightGBM 和Catboost也是为了修改他的缺陷而发布的。9月12日XGBoost发布了新的2.0版&#xff0c;本文除了介绍让XGBoost的完整历史以外&#xff0c;还将介绍新机制和更新。 这是一篇很长的文章&#xff0c;因为我们首…

转守为攻,亚马逊云换帅背后的战略转向

点击关注 文&#xff5c;刘雨琦 一则人事任命&#xff0c;揭开了亚马逊云在大中华区反击战的序幕。 10月9日&#xff0c;亚马逊云科技全球销售、市场和服务高级副总裁 Matt Garman 宣布了大中华区领导人变更任命&#xff0c;储瑞松将接替张文翊担任该职位&#xff0c;继续带领…

2023年网络安全岗位有哪些?金九银十别错过秋招!

网络安全有哪些岗位&#xff1f; 1. 安全服务工程师 7-10k 网络安全工程师、安全项目经理&#xff1a;主要负责甲方设备安全调试工作。需精通服务器、网络技术以及安全设备原理与配置。 2. 安全运维工程师 7-10k 安全运维工程师&#xff0c;主要对己方安全防御体系的运维和应急…

如何在 Spring Boot 中提高应用程序的安全性

如何在 Spring Boot 中提高应用程序的安全性 Spring Boot是一种流行的Java开发框架&#xff0c;用于构建Web应用程序和微服务。在构建应用程序时&#xff0c;安全性是至关重要的因素。不论您的应用程序是面向公众用户还是企业内部使用&#xff0c;都需要采取适当的措施来确保数…

(java)(python)以代理IP的方式进行请求数据

文章目录 前言(java)(python)以代理IP的方式进行请求数据1. python2. java 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的话…

洛谷100题DAY7

31.P1636 Einstein学画画 此题为欧拉通路&#xff0c;必须要满足奇点的个数为0或2个 奇点&#xff1a;度数&#xff08;入度出度&#xff09;为奇数的点 如果奇点为2个或者0个就可以直接一笔化成 eg. 我们发现奇数点个数每增加2个就多一笔 #include<bits/stdc.h> us…

数据结构和算法(11):红黑树

概述 伸展树实现简便、无需修改节点结构、分摊复杂度低&#xff0c;但可惜最坏情况下的单次操作需要O(n)时间。 AVL树尽管可以保证最坏情况下的单次操作速度&#xff0c;但需在节点中嵌入平衡因子等标识&#xff1b;更重要的是&#xff0c;删除操作之后的重平衡可能需做多达O(…

【DRAM存储器十三】DDR介绍-功能框图和模式寄存器解析

&#x1f449;个人主页&#xff1a;highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 参考资料&#xff1a;《镁光DDR数据手册》 目录 DDR SDRAM芯片引脚 DDR SDRAM芯片框…

校园跑腿小程序还受欢迎不?

校园跑腿小程序是如今大学生群体中越来越受欢迎的一种服务模式。它为大学生提供了一个便捷的平台&#xff0c;使他们能够在校园内完成各类生活事务&#xff0c;如购买食品、快递取送、打印复印等。这种形式的服务在过去几年里在全球范围内迅速发展&#xff0c;并取得了巨大的成…

大学专业分类及介绍 专业有哪些

大学的专业非常多样化&#xff0c;涵盖了哲学、经济学、法学、教育学、文学、历史学、理学、工学、农学、医学、管理学、艺术学等12个学科门类。每个学科门类下又设有多个具体专业。 哲学类下设专业有4个&#xff0c;包括哲学、逻辑学、宗教学、伦理学。 经济学类下设专业有17…

外汇天眼:CONSOB下令封禁5个非法金融服务网站 总数达945个!

负责监管意大利金融市场的监管机构意大利公司和交易委员会The Commissione Nazionale per le Societ e la Borsa &#xff08;CONSOB&#xff09;10月6日发布禁令&#xff0c;命令意大利互联网服务提供商&#xff08;ISP&#xff09;关闭5个在意大利境内提供非法金融服务的网站…

【Codeforces】Educational Codeforces Round 156 [Rated for Div. 2]

hh第一次记录cf。 复盘 ab题目比较清晰&#xff0c;只开了这两题&#xff0c;后面看了下cd&#xff0c;即使开了翻译也看不懂题目是什么意思&#xff0c;最后放弃睡觉了。。 a是一道思维题&#xff0c;翻了下别人写的发现大家写的各不相同hh b是一道数学题&#xff0c;过程有点…

改element的单选框的样式,改成方形有勾的样式

element-ui单选框按钮的样式改成对钩_el-radio 变对钩样式-CSDN博客 改变选中后字体的颜色 // 改变选中后字体的颜色 ::v-deep .el-radio__input.is-checked .el-radio__label {color:#28d4c1!important; }

2.1 线程是什么

技术上来说&#xff0c;线程是操作系统能够操作运行的一组独立的指令运算流程&#xff1b;更具体地来说&#xff0c;它的意义如下。 对于开发者&#xff0c;独立于主程序运行的一个“程序”可以称为一个线程。更进一步来说&#xff0c;如果一个应用包含多个“程序”&#xff0c…

计算顺序表中值在100到500之间的元素个数

要求顺序表中值在100到500之间的元素的个数&#xff0c;你可以使用C语言编写一个循环来遍历顺序表中的元素&#xff0c;并在循环中检查每个元素是否在指定的范围内。 #include <stdio.h>#define MAX_SIZE 100 // 假设顺序表的最大容量为100int main() {int arr[MAX_SIZE]…

车载开发所学内容,有哪些?程序员的转岗位需求

一、高速发展的行业前景 随着全球智能汽车市场的飞速发展&#xff0c;车载开发行业的前景可谓一片光明。各国政府对于自动驾驶和智能交通系统的政策支持&#xff0c;为行业带来了前所未有的机遇。此外&#xff0c;人工智能、大数据、云计算等前沿技术的不断突破&#xff0c;为…

C#,数值计算——数据建模Fitlin的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// General linear fit /// </summary> public class Fitlin { private int ndat { get; set; } private int ma { get; set; } private do…