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

【leetcode】977. 有序数组的平方

有序数组的平方

    • 题目
    • 代码
      • 1. 使用sorted
      • 2. 双指针

题目

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]

代码

1. 使用sorted

直接平方,使用sorted

class Solution(object):def sortedSquares(self, nums):""":type nums: List[int]:rtype: List[int]"""# 数组元素只能覆盖for i in range(len(nums)):nums[i] = nums[i] * nums[i]return sorted(nums)

2. 双指针

思路: 非递减顺序:才能使用双指针
判断左右两边的平方,将大的平方放在右边,右边的指针-1

class Solution(object):def sortedSquares(self, nums):""":type nums: List[int]:rtype: List[int]"""# 非递减顺序:才能使用双指针left = 0right = len(nums) - 1result = [0] * len(nums)pos = len(nums) - 1while left <= right:if nums[left] * nums[left] < nums[right] * nums[right]:result[pos] = nums[right] * nums[right]right -= 1else:result[pos] = nums[left] * nums[left]left += 1pos -= 1return result
http://www.xdnf.cn/news/679213.html

相关文章:

  • Microbiome|基于MAG的宏转录组
  • TailwindCSS v4 快速入门教程
  • 在Linuxfb环境下利用海思TDE API实现高效的2D图形加速
  • Java中的日期类详解
  • 数据泄露频发,Facebook的隐私保护是否到位?
  • 12. CSS 布局与样式技巧
  • [网页五子棋][用户模块]数据库设计和配置(MyBatis)、约定前后端交互接口、服务器开发
  • 使用tunasync部署企业内部开源软件镜像站-Centos Stream 9
  • 用ChatGPT辅助UI设计:从需求分析到风格提案的提效秘籍
  • 代码随想录算法训练营第五十一天
  • Day4 记忆内容:priority_queue 高频操作
  • SAAS架构设计2-流程图-注册流程图
  • uni-app 中开发问题汇总
  • 【网络编程】十七、多路转接之 epoll
  • JAVA SE 文件IO
  • Python函数
  • python+tkinter实现GUI界面调用即梦AI文生图片API接口
  • PPO算法里clipfrac变量的作用
  • 《计算机组成原理》第 7 章 - 指令系统
  • 恶意npm与VS Code包窃取数据及加密货币资产
  • 科研级计算服务器 稳定支撑创新研究
  • 系统设计——项目设计经验总结3
  • int c =5; 代码解释
  • 《计算机组成原理》第 5 章 - 输入输出系统
  • 冒泡排序:像煮汤一样让数字「冒泡」
  • centos7安装MySQL(保姆级教学)
  • Linux信号量(32)
  • 鸿蒙OSUniApp 开发的滑动图片墙组件#三方框架 #Uniapp
  • 方正字库助力华为,赋能鸿蒙电脑打造全场景字体解决方案
  • 如何验证 AXI5 原子操作