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

有序数组的平方(LeetCode)

题目

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

解题

 以下算法时间复杂度为O(n)

def sortedSquares(nums):n = len(nums)result = [0] * n  # 创建一个结果数组,长度与 nums 相同left, right = 0, n - 1  # 初始化左右指针position = n - 1  # 初始化结果数组的插入位置while left <= right:left_square = nums[left] ** 2right_square = nums[right] ** 2if left_square > right_square:result[position] = left_squareleft += 1else:result[position] = right_squareright -= 1position -= 1return resultnums = [-4, -1, 0, 3, 10]
print(sortedSquares(nums))  # 输出: [0, 1, 9, 16, 100]nums = [-7, -3, 2, 3, 11]
print(sortedSquares(nums))  # 输出: [4, 9, 9, 49, 121]

[0, 1, 9, 16, 100]
[4, 9, 9, 49, 121]

http://www.lryc.cn/news/418395.html

相关文章:

  • Python配置镜像
  • Python新手错误集锦(PyCharm)
  • CTFHUB-web-RCE-php://input
  • Python网络爬虫核心面试题
  • DSL domain specific language of Kola
  • 【RISC-V设计-05】- RISC-V处理器设计K0A之GPR
  • Linux/C 高级——shell脚本
  • SpringBoot面试题整理(1)
  • LVS原理及实例
  • Spring统一功能处理:拦截器、响应与异常的统一管理
  • 深入理解小程序的渲染机制与性能优化策略
  • Linux:多线程(二.理解pthread_t、线程互斥与同步、基于阻塞队列的生产消费模型)
  • Pandas中`str`对象解析与应用实例
  • C语言典型例题29
  • Docker 常规安装简介
  • 理解张量拼接(torch.cat)
  • 指针基础知识(笔记)
  • [Python学习日记-3] 编程前选择一个好用的编程工具
  • 智能化的Facebook未来:AI如何重塑社交网络的面貌?
  • 安全启动的原理
  • 【ML】pre-train model 是什么如何微调它,如何预训练
  • leetcode代码练习——Java的数据结构(具体使用)
  • sqlserver导出数据脚本
  • html+css 实现hover中间展开背景
  • Java 怎么获取支付宝Open ID
  • Web-server日志分析命令
  • Typora的markdown笔记使用说明
  • 前端如何做单元测试? 看这篇就入门了
  • Chainlit快速实现AI对话应用的聊天记录如何持久性保存
  • 【探索数据结构与算法】——深入了解双向链表(图文详解)