LeetCode中等题之重排数字的最小值
题目
给你一个整数 num 。重排 num 中的各位数字,使其值 最小化 且不含 任何 前导零。
返回不含前导零且值最小的重排数字。
注意,重排各位数字后,num 的符号不会改变。
示例 1:
输入:num = 310
输出:103
解释:310 中各位数字的可行排列有:013、031、103、130、301、310 。
不含任何前导零且值最小的重排数字是 103 。
示例 2:
输入:num = -7605
输出:-7650
解释:-7605 中各位数字的部分可行排列为:-7650、-6705、-5076、-0567。
不含任何前导零且值最小的重排数字是 -7650 。
提示:
-10^15 <= num <= 10 ^15
来源:力扣(LeetCode)
解题思路
将数字按照不同的情况,拆分然后排序,接着进行重组。需要注意的地方就是最高位的数字不能是0,需要找到接下来不是0的数字进行替换。
class Solution:def smallestNumber(self, num: int) -> int:if num<0:num=-numtemp=[]while num>0:temp.append(num%10)num//=10temp.sort(reverse=True)q=len(temp)-1if temp[0]==0:for i in range(1,q+1):if temp[i]!=0:temp[0]=temp[i]temp[i]=0breaks=0for i in temp:s+=i*10**qq-=1return -selif num==0:return 0else:temp=[]while num>0:temp.append(num%10)num//=10temp.sort()q=len(temp)-1if temp[0]==0:for i in range(1,q+1):if temp[i]!=0:temp[0]=temp[i]temp[i]=0breaks=0for i in temp:s+=i*10**qq-=1return s
LeetCode中等题之重排数字的最小值相关推荐
- LeetCode 2165. 重排数字的最小值(计数)
文章目录 1. 题目 2. 解题 1. 题目 给你一个整数 num .重排 num 中的各位数字,使其值 最小化 且不含 任何 前导零. 返回不含前导零且值最小的重排数字. 注意,重排各位数字后,nu ...
- LeetCode中等题之TinyURL 的加密与解密
题目 TinyURL 是一种 URL 简化服务, 比如:当你输入一个 URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL h ...
- LeetCode中等题之最优除法
题目 给定一组正整数,相邻的整数之间将会进行浮点除法操作.例如, [2,3,4] -> 2 / 3 / 4 . 但是,你可以在任意位置添加任意数目的括号,来改变算数的优先级.你需要找出怎么添加括 ...
- LeetCode简单题之猜数字大小
题目 猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字. 如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了. 你可以通过调用一个预先 ...
- LeetCode中等题之区域和检索 - 数组可修改
题目 给你一个数组 nums ,请你完成两类查询. 其中一类查询要求 更新 数组 nums 下标对应的值 另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nu ...
- LeetCode中等题之二倍数对数组
题目 给定一个长度为偶数的整数数组 arr,只有对 arr 进行重组后可以满足 "对于每个 0 <= i < len(arr) / 2,都有 arr[2 * i + 1] = 2 ...
- LeetCode中等题之简易银行系统
题目 你的任务是为一个很受欢迎的银行设计一款程序,以自动化执行所有传入的交易(转账,存款和取款).银行共有 n 个账户,编号从 1 到 n .每个账号的初始余额存储在一个下标从 0 开始的整数数组 b ...
- LeetCode中等题之在排序数组中查找元素的第一个和最后一个位置
题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 如果数组中不存在目标值 target,返回 [-1, -1]. 进阶: 你可以 ...
- LeetCode中等题之煎饼排序
题目 给你一个整数数组 arr ,请使用 煎饼翻转 完成对数组的排序. 一次煎饼翻转的执行过程如下: 选择一个整数 k ,1 <= k <= arr.length 反转子数组 arr[0- ...
最新文章
- CountDownLatch 源码分析
- 给自己的Blog 上添加定制的搜索引擎
- g menu i meun_长沙话读“这里”,到底是阁(gó)里还是该(gái)里
- 超好看的科学科普书,孩子大人都可以看!
- Python逐行读取文件内容
- VS2013在Release情况下使用vector有时候会崩溃的一个可能原因
- Linux一个驱动管理多个设备,poll方法(select多路监控原理与实现)
- BUAA OO 2019 第三单元作业总结
- GitHub Star 破万!3w 多人追更,这个 Java 框架你不会还不知道怎么用吧...
- numpy 高阶函数 —— np.histogram
- [Swift]LeetCode1049.最后一块石头的重量 II | Last Stone Weight II
- 数据结构c语言pdf2007,数据结构(C语言)严蔚敏 吴伟明 编著 07.pdf
- 自定义圆形进度条ProgressBar
- Linux下rpm安装git
- [.NET] 使用 .NET Framework 開發 ActiveX Control
- 再说“两本交换机图书内容完全不一样”
- wapp HTTP Error 404. The requested resource is not found.
- pmp考试有题库么?
- uni-app项目(一)
- SylixOS -- KN_SMP_WMB()内存屏障函数解析