当前位置: 首页 > 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

相关文章:

  • ComfyUI 文生图,绘图要求中 正向提示词、负向提示词 有什么区别,webp又是什么格式 comfyui 那么喜欢它
  • 导出rpm包的方法
  • 【监控】Prometheus中的告警机制介绍
  • 与 PyCharm 官方沟通解决开发环境问题记录(进展:官方已推出2个新的修复版本)
  • 打造自己的开源组件:如何将 Starter 发布到 Maven Central?
  • 经典查找算法合集(上)
  • 59、【OS】【Nuttx】编码规范解读(七)
  • 【MQTT】TLS证书双向验证
  • ROS2 robot控制学习(一)
  • Java 并发编程通关秘籍——08死锁
  • STL-Library-Containers
  • Acrobat Reader 无法在 Windows 11及10 中打开的5种修复方法
  • 岛津Sonialvision X-ray X射线高压发生器控制台
  • RuoYi前后端分离框架集成Jasypt实现配置信息加密
  • C语言创意编程:用趣味实例玩转基础语法(2)
  • Redis工作原理解析
  • 学者观察 | Web3.0的技术革新与挑战——北京理工大学教授沈蒙
  • BERT和GPT语言模型的核心差异
  • How API Gateways handle raw TCP packets
  • 【深度学习-Day 18】从SGD到Adam:深度学习优化器进阶指南与实战选择
  • 深圳市门户网站建设品牌/免费搭建网站的软件
  • 高端网站建设公司有哪些/推广关键词排名查询
  • 赤峰做网站公司/百度推广销售话术
  • 怎么做网站用dreamwer/广东疫情最新资讯
  • jsp做的网站难吗/网络优化师
  • 5种有效增加网站流量/seo平台代理