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

Leetcode 3551. Minimum Swaps to Sort by Digit Sum

  • Leetcode 3551. Minimum Swaps to Sort by Digit Sum
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3551. Minimum Swaps to Sort by Digit Sum

1. 解题思路

这一题思路上我实现的非常暴力,就是先求出正确的排列,然后从头考察每一个元素是否处在其目标位置上,如果没有,则给出一次置换。

2. 代码实现

给出python代码实现如下:

class Solution:def minSwaps(self, nums: List[int]) -> int:n = len(nums)def fn(num):return sum(int(digit) for digit in str(num))index = {x: i for i, x in enumerate(nums)}sorted_nums = sorted(nums, key=lambda x: (fn(x), x))ans = 0for i in range(n):if nums[i] == sorted_nums[i]:continuex, y = nums[i], sorted_nums[i]j = index[y]nums[i], nums[j] = y, xindex[x] = jindex[y] = ians += 1return ans

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

相关文章:

  • Protect Your Digital Privacy: Obfuscate, Don’t Hide
  • C语言指针深入详解(二):const修饰指针、野指针、assert断言、指针的使用和传址调用
  • 用 UniApp 构建习惯打卡 App —— HabitLoop 开发记
  • 报告精读:华为2024年知行合一通信行业数据治理实践指南报告【附全文阅读】
  • leetcodehot100刷题——排序算法总结
  • python中http.cookiejar和http.cookie的区别
  • React 19版本refs也支持清理函数了。
  • 【每天一个知识点】湖仓一体(Data Lakehouse)
  • 规则联动引擎GoRules初探
  • 牛客网NC21989:牛牛学取余
  • 新电脑软件配置二:安装python,git, pycharm
  • UnLua源码分析(一)初始化流程
  • 【关联git本地仓库,上传项目到github】
  • 四品种交易策略
  • 模型评估与调优(PyTorch)
  • 02 K8s双主安装
  • MoodDrop:打造一款温柔的心情打卡单页应用
  • 黑马k8s(十一)
  • leetcode hot100刷题日记——2.字母异位词分组
  • discuz X3.5批量新建用户
  • 取得金奖西瓜品种独家使用权的上海金山,为何要到异地“试种”?
  • 美国恶劣天气已造成至少28人死亡
  • 网文书单|推荐4本网文,可以当作《绍宋》代餐
  • 广西鹿寨一水文站“倒刺扶手”存安全隐患,官方通报处理情况
  • 俄媒:俄乌伊斯坦布尔谈判将于北京时间今天17时30分开始
  • 上海虹桥国际咖啡文化节开幕,推出茶咖文化特色街区、宝妈咖啡师培训