首页 > 其他分享 >有序数组的平方

有序数组的平方

时间:2024-09-08 21:02:37浏览次数:3  
标签:平方 数组 nums 代码 解题 有序 排序

题目描述:
给你一个按 非递减顺序 排序的整数数组 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 已按 非递减顺序 排序
进阶:

请你设计时间复杂度为 O(n) 的算法解决本问题
Related Topics
数组
双指针
排序

解题思路:
数组的平方就是相同的两个数相乘然后根据结果进行排序,提交代码直接通过,且复杂度为 O(n),简单的代码如下:

以上的解题思路很容易就能想到,但是,令我疑惑的是解题思路有双指针的提示,那应该还有别的解题思路,带着对双指针的理解,重新把题目看了一遍,发现一个问题 非递减顺序 排序的整数数组 这段话在代码中没有体现,既然数组已经排序过了是不是说我们计算平方的时候根据省略排序的代码,也就是我们先排除正负数的影响(因为平方后都为正数,所以负数的意义不大,主要还是看本身的值的大小)于是代码出现了

标签:平方,数组,nums,代码,解题,有序,排序
From: https://www.cnblogs.com/java-cheng/p/18403401

相关文章

  • CTF逆向:将数组作为函数代码执行
    例题攻防世界BABYREflag判定条件为这个if(v5==14&&(*judge)(s))注意judge本质上是一个数组,(*judge)(s)则说明judge数组中的内容被当做代码执行但前面又有for(i=0;i<=181;++i)judge[i]^=0xCu;judge数组中的内容进行加密所以需要进行patch......
  • 6.跟着狂神学JAVA(数组)
    数组数组是相同类型数据的有序集合每一个数据称作一个数据元素,每个数组元素可以通过一个下标来访问获取数组长度:array.length数组的使用声明数组dataType[]arrayName;初始化数组在声明时初始化int[]numbers=newint[5];//创建一个长度为5的整型数组在声明......
  • C语言练习题--一维、二维字符串数组
    1.下列对C语言字符数组的描述中错误的是(D) A.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.不可以用关系运算符对字符数组中的字符串进行比较D.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值分析:D只能逐个字符进行复制或者利用字......
  • 2024/9/8第六次记录:第六章数组
    第六章数组要存储大量的数据,就必须定义存储空间很大的变量,可以用数组和结构体。这里我们将数组。6.1数组与存储分配6.1.1定义数组数组是用来存放各个数据元素的一组相互间有关联的变量,这一组变量有共同的名称,用名称及在数组内的序号标识各个变量。定义数组的基本格......
  • C语言之动态内存管理、柔性数组
    目录前言一、为什么要有动态内存分配二、常用函数(都声明在stdlib.h头文件中)三、常见的动态内存的错误四、柔性数组总结前言    本文讲述C语言动态内存管理的基础知识,另外包括柔性数组的基本知识。❤️感谢支持,点赞关注不迷路❤️一、为什么要有动态......
  • Java 中的数组是如何声明和初始化的?
    在Java中,数组是一组相同类型的元素的集合,可以通过索引来访问这些元素。数组的长度是固定的,一旦创建就不能改变其大小。下面详细介绍如何在Java中声明和初始化数组,并给出一些实际开发中的使用建议和注意事项。声明数组在Java中,声明数组的基本语法如下:dataType[]arrayN......
  • 今日份数组随笔
    /**23*/constarray1=[["birth","under","rebel","light","attend","banana","script","math","purchase","leopard","ordinary","u......
  • python科学计算:NumPy 数组的高级操作
    1基本数学函数NumPy提供了大量的数学函数来执行各种基本运算。这些函数可以作用于数组的每个元素,且支持广播机制。1.1三角函数NumPy提供了一组常见的三角函数,包括sin()、cos()、tan()及其反函数。importnumpyasnp#创建一个数组angles=np.array([0,np.pi......
  • 洛谷刷题之B2089 数组逆序重存放
    数组逆序重存放题目入口题目描述将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5......
  • 【C语言基础】数组
    1一维数组1.1定义类型说明符数组名[常量表达式];如:inta[10];这里,a是数组变量名,10表示数组a中包含的元素个数,int是数组a中元素的类型。数组a的元素序号为0,1,2,3,4,5,6,7,8,9,各序号对应的元素为a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。1.2初始化类......