Python 输入一个正整数,将该数各位上的数字重新排列,给出比原来数大的最小数和比原来数小的最大数
例:输入2651392641
输出
比原来数大的最小数2651394126
比原来数小的最大数2651392614
Python数字排序问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 鸡蛋酱$ 2022-05-15 20:44关注
from collections import Counter class Solution: def __init__(self): pass def sort_max(self, num: int) -> int: """ :param num: :return: """ num_count = Counter(str(num)) while True: num += 1 buffer_json = Counter(str(num)) if buffer_json == num_count: return num def sort_min(self, num: int) -> int: """ :param num: :return: """ num_count = Counter(str(num)) while True: num -= 1 buffer_json = Counter(str(num)) if buffer_json == num_count: return num if __name__ == '__main__': st = 2651392641 U = Solution() print("原数字:", st) the_max = U.sort_max(st) print("较大:", the_max) the_min = U.sort_min(st) print("较小:", the_min)
对每个数字计数,然后将原来的数字递加,或者递减,第一个满足数字哈希表相等的就是最接近的极值,我的这个做法技术含量不大.........你可以直接提取每一位数字,我用的字符串转换本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 有没有帮写代码做实验仿真的
- ¥15 報錯:Person is not mapped,如何解決?
- ¥30 vmware exsi重置后登不上
- ¥15 易盾点选的cb参数怎么解啊
- ¥15 MATLAB运行显示错误,如何解决?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
- ¥20 yolov5自定义Prune报错,如何解决?