给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。

根据题意,我们应当将大的数放置在高位,而当有数值相同的多个大数时,我们应当选择低位的数字。

同时由于我们需要遵循“当有数值相同的多个大数时,选择低位的数字”原则,我们应当出现采取严格大于才更新的方式来预处理 idx。

最后则是从高位往低位遍历,找到第一个替换的位置进行交换,并重新拼凑回答案。

在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。

在仓库地址里,你可以看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其他优选题解。

更多更全更热门的“笔试/面试”相关资料可访问排版精美的 合集新基地 🎉🎉