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

977 有序数组的平方

时间:2022-09-05 20:47:16浏览次数:79  
标签:977 平方 nums res 数组 pre1 pre2

题目 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]

思路

双指针

代码

class Solution:
    def sortedSquares(self, nums: List[int]) -> List[int]:
        res = [0 for _ in range(len(nums))]
        k = len(nums) - 1
        pre1 = 0
        pre2 = len(nums) - 1
        while pre1 <= pre2:
            if nums[pre1]**2 >= nums[pre2]**2:
                res[k] = nums[pre1]**2
                k -= 1
                pre1 += 1
            else:
                res[k] = nums[pre2]**2
                k -= 1
                pre2 -= 1
        return res

标签:977,平方,nums,res,数组,pre1,pre2
From: https://www.cnblogs.com/edkong/p/16659474.html

相关文章

  • TS创建接口和接口类型数组,并统一导入后引用
    在app.ts中引用import{users,IRoute,IUser,routes}from"./data";在index.ts中统一导入后导出export*from"./routes";export*from"./users";importro......
  • 伪数组和数组
    区别伪数组的类型不是Array,而是Object,而数组类型是Array。 伪数组可以使用的length属性查看长度,也可以使用[index]获取某个元素,但是不能使用数组的其他方法,也不能改变......
  • 数组:有序数组的平方
    给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平......
  • 后缀数组
    https://oiwiki.org/string/sa/性质1:\(sa[rk[i]]=rk[sa[i]]\)翻译一下,即记i的排名为\(k\),\(sa[k]=i\),排名为\(i\)的后缀的排名为\(i\)。性质2:$\forallx\in......
  • Day06__数组
    数组数组的定义数组的声明和创建packagearray;//数组的声明和创建publicclassDemo01{publicstaticvoidmain(String[]args){int[]nums;//......
  • Stream流进行数组排序
    ​考虑一个数组:int[]nums={9,6,5,7,4,8,3,1,2};对于数组,列举几个转换Stream流的操作及返回值://返回Stream对象,但泛型为int[]数组Stream<int[]>nums1=Stream.of(n......
  • 数组和字符串的相互转换
      var arr = [1, 2, 3, 4];    var arr2 = arr;    var str = arr.toString(); // 将数组转换为字符串    console.log(str); // 1,2,......
  • 数组的基本用例
    数组的基本用例int[]arr={1,7,3,4,5};//定义一个数组遍历并打印数组内所有元素for(inti=0;i<arr.length;i++){System.out.println(arr[i]);......
  • 通过 Infinity 和 -Infinity 查找数组中最大和最小值
    functionfindMaxNum(numbers){letmax=-Infinity;for(constnofnumbers){if(n>max){max=n;}}returnmax;}functionfindMi......
  • 数组去重的几种方式
    1、利用Map数据结构去重1letarr=[1,2,3,4,3,2,3,4,6,7,6];2letunique=(arr)=>{3letseen=newMap();4returnarr.filter((item......