天津市网站建设 网页制作,宁波seo网站排名优化,网页编辑器快捷键,工作人员否认陈道明演庆余年2文章目录1. 题目2. 解题1. 题目
给你一个正整数 num 。你可以交换 num 中 奇偶性 相同的任意两位数字#xff08;即#xff0c;都是奇数或者偶数#xff09;。
返回交换 任意 次之后 num 的 最大 可能值。
示例 1#xff1a;
输入#xff1a;num 1234
输出#xff1a…
文章目录1. 题目2. 解题1. 题目
给你一个正整数 num 。你可以交换 num 中 奇偶性 相同的任意两位数字即都是奇数或者偶数。
返回交换 任意 次之后 num 的 最大 可能值。
示例 1
输入num 1234
输出3412
解释交换数字 3 和数字 1 结果得到 3214 。
交换数字 2 和数字 4 结果得到 3412 。
注意可能存在其他交换序列但是可以证明 3412 是最大可能值。
注意不能交换数字 4 和数字 1 因为它们奇偶性不同。示例 2
输入num 65875
输出87655
解释交换数字 8 和数字 6 结果得到 85675 。
交换数字 5 和数字 7 结果得到 87655 。
注意可能存在其他交换序列但是可以证明 87655 是最大可能值。提示
1 num 10^9来源力扣LeetCode 链接https://leetcode-cn.com/problems/largest-number-after-digit-swaps-by-parity 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
取出奇偶数分别排序遍历原数字双指针取出作为答案
class Solution:def largestInteger(self, num: int) - int:num str(num)odd [i for i in num if int(i)11]even [i for i in num if int(i)10]odd.sort(reverseTrue)even.sort(reverseTrue)ans x, y 0, 0for i in num:if int(i)11:ans odd[x]x 1else:ans even[y]y 1return int(ans)36 ms 14.9 MB Python3 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步