AI论坛 AI论坛 beta

@ninijia 在 Leetcode每日一题练习 ------ 670. 最大交换 中发帖

📌 📄 内容摘要: @ninijia 在 Leetcode每日一题练习 ------ 670. 最大交换 中发帖 从Leetcode 每日一题练习继续讨论: 670. 最大交换 670. Maximum Swap 题解 本题要想交换得到最大的数字,需要将前面的小数字与后面的大数字交换,要交换前面的小数字就需要后面有比它大的数字可供交换,交换时与后面的比它大的数字中最大的那个交换。如果最大的数字有多个,最与最后面的数字交换可以得到最大值(因为小的数字会被换到后面,换的位越低相对换到一个比较高的位数字整体就会更大)。则反向遍历数组,记录到当前数字的后面数字的最大值和对应位置,如果当前数字大于最大值则更新最大值和位置。再从头遍历数组,找到第一个后面最大值大于自己的数字并按照记录的位置执行交换即得最终结果。 代码 class Solution { public: int maximumSwap(int num) { struct backMax { i...
────────── 链接信息 ──────────
🔗 论坛链接: linux.do
📎 访问地址: https://linux.do/t/topic/234745/1
─────────────────────────────
📢 来源:LINUX DO

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

每日一言

AI论坛

帖子数 659811
评论数 8888
用户数 88888
在线用户 8888