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

Leetcode 3644. Maximum K to Sort a Permutation

  • Leetcode 3644. Maximum K to Sort a Permutation
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3644. Maximum K to Sort a Permutation

1. 解题思路

这一题核心在于说想明白要如何进行排序,问题的最终目标是将整个数组变得有序,因此原始数组当中所有位置与最终位置不同的数都需要被重新排序,也就是说这其中的任意两个数的位和的结果均至少要大于等于kkk,否则就不存在一种交换方式能够交换这两个数。

因此,我们将所有位置不对的数计算一下位和的结果,这个值就会是kkk能够取到的最大值。然后我们就只需要证明这个kkk确实可以将所有的数置换为有序数组。这其实也很直接,我们将kkk单取出来,然后与每一个数进行一下交换,将其换到对应的位置即可。

综上,证明完毕,我们将所有的位置不对的数计算一下位和的结果,就是最终答案kkk

2. 代码实现

给出python代码实现如下:

class Solution:def sortPermutation(self, nums: List[int]) -> int:snums = sorted(nums)ans = -1for x, y in zip(nums, snums):if x == y:continueif ans == -1:ans = xelse:ans = ans & xreturn ans if ans != -1 else 0

提交代码评测得到:耗时44ms,占用内存29.60MB。

http://www.dtcms.com/a/324491.html

相关文章:

  • 9_基于深度学习的车型检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • Error: error:0308010C:digital envelope routines::unsupported at new Hash
  • 【Python 小脚本·大用途 · 第 3 篇】
  • 编译xformers
  • 【深度学习新浪潮】遥感图像风格化迁移研究工作介绍
  • 学习记录(十九)-Overleaf如何插入图片(单,多)
  • 学习模板元编程(3)enable_if
  • CART算法:Gini指数
  • 25.机器学习入门:让机器变聪明的魔法课
  • 串口通信初始化过程是怎样的???
  • IDEA 快捷编辑指南
  • Java开源代码源码研究:我的成长之路与实战心得分享
  • IDEA 安装插件的两种方式
  • 【面试场景题】异地多活改造方案
  • AI大模型--提示词工程
  • CVPR医学图像三套创新方案:通用分割+3D高效解码+SSM肿瘤定位(附链接)
  • 如何解决网站长期不连接数据库后首次连接缓慢的问题?
  • JS--判断是对象还是数组
  • Spring之【详解AOP】
  • 使用 Docker-Compose 部署 Redis 三主三从集群(含 Exporter 监控)
  • SQL Server从入门到项目实践(超值版)读书笔记 23
  • Windows 11 安装 JDK 11
  • ThreadLocal的原理是什么,使用场景有哪些?
  • 【自动化运维神器Ansible】playbook案例解析:Handlers与Notify机制深度解析
  • Vue3入门到精通:2.4 Vue3动态组件与异步组件深度解析
  • leetcode经典题目——单调栈
  • 【Python 工具人快餐 · 第 7 份 · 完结】
  • Redis 监控与优化方案(C++项目)
  • [激光原理与应用-221]:设计 - 皮秒紫外激光器 - 常见技术难题、原因与解决方案
  • 北京天津廊坊唐山打捞失物日记