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

leetcode977-有序数组的平方

时间:2022-09-28 17:25:13浏览次数:75  
标签:平方 有序 nums vector 数组 leetcode977 size

977. 有序数组的平方

原本直接暴力的做法没有利用到原数组是有序这个条件。这里直接把左边的绝对值大于右边的直接放到最后面,这样就减少很多不必要的操作。

class Solution {
public:
    vector<int> sortedSquares(vector<int>& nums) {
        int size=nums.size(),left=0,right=size-1,pos=size-1;
        vector<int> res(size);
        while(left<=right)
        {
            if(-nums[left]>nums[right])  //根本不需要担心nums[i]变成正数的情况,因为正数也依然是-nums[left]<=nums[right]
            {
                res[pos--]=nums[left]*nums[left];
                left++;
            }
            else
            {
                res[pos--]=nums[right]*nums[right];
                right--;
            }
        }
        return res;
        /*int size=nums.size();
        for(int i=0;i<size;i++)
        {
            nums[i]*=nums[i];
        }
        sort(nums.begin(),nums.end());
        return nums;*/       
    }
};

 

标签:平方,有序,nums,vector,数组,leetcode977,size
From: https://www.cnblogs.com/uacs2024/p/16738815.html

相关文章

  • 数组找出单身狗经典问题
    前言单身狗问题是大厂近几年的一个热门考点,所以我们就一起来探讨一下吧!摘要单身狗的问题解法有很多种,今天我带给大家两种经典解法,一、数组比较法,二、异或法,这两种解法我会分......
  • 把两个数据结构相同的数组(数组下有n个对象)合并成一个数组
    数据拼接有一个数组letarr1=[{name:''lili",age:14},{name:''小明",age:16},{name:''张三",age:24},]letarr2=[{class:"初一二班",gender:"0"},{class:"初......
  • SQL字符串转换为数组
    思路:按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。——返回字符串数组长度函数createfunctionGet......
  • 力扣349(java&python)-两个数组的交集(简单)
    题目:给定两个数组 nums1 和 nums2,返回它们的交集 。输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。 示例1:输入:nums1=[1,2,2,1],num......
  • [数组和链表的区别]
    [数组和链表的区别]数组'''数组插入数据因为需要连在一起,如果内存空间不连续就得全体迁移,甚至出现内存空间足够但是由于不在一起而导致无法为数组分配内存。'''链......
  • P4062 Yazid的新生舞会(树状数组)
    Yazid的新生舞会题目描述Yazid有一个长度为\(n\)的序列\(A\),下标从\(1\)至\(n\)。显然地,这个序列共有\(\frac{n\left(n+1\right)}{2}\)个子区间。对于任意一......
  • JS数组去重
    1、方法<!--*@Descripttion:数组去重*@version:0.0.1*@Author:PengShuai*@Date:2022-09-2613:16:04*@LastEditors:PengShuai*@LastEditTime:202......
  • java如何将字节数组写入到一个文件中呢?
    转自: ​​http://www.java265.com/JavaJingYan/202207/16566829303864.html​​字节数组简介:   字节:字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。在ASCI......
  • Java Script 循环,数组,对象,判断,阶乘,查找-综合运用合集
     输出100个helloworld.for(vari=1;i<=100;i++){console.log("helloworld");}创建一个包含1~100的数组.vararray=[];for(vari=1;i<=100;i+......
  • vue 合并数组
    vue合并两个数组*主要方法 : concatdata(){return{totalData:[],//总总选中的数据disabledData:[],//列表已选中风险数据......