学生如何建设网站北京海淀区公司
news/
2025/9/26 12:15:12/
文章来源:
学生如何建设网站,北京海淀区公司,微网站开发一般费用多少钱,开发安卓软件需要学什么文章目录1. 题目2. 解题1. 题目
给你一个整数 num 。重排 num 中的各位数字#xff0c;使其值 最小化 且不含 任何 前导零。
返回不含前导零且值最小的重排数字。
注意#xff0c;重排各位数字后#xff0c;num 的符号不会改变。
示例 1#xff1a;
输入#xff1a;nu…
文章目录1. 题目2. 解题1. 题目
给你一个整数 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 链接https://leetcode-cn.com/problems/smallest-value-of-the-rearranged-number 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
记录正负对每个位的数字是几进行统计个数负数的话从9往后排正数的话先取出一个非零的最小的数再从0往后排
class Solution {
public:long long smallestNumber(long long num) {bool neg num 0;vectorint ct(10, 0);num abs(num);while(num){ct[num%10];num / 10;}long long ans 0;if(neg){for(int i 9; i 0; --i){while(ct[i]--)ans ans*10i;}return -ans;}else{for(int i 1; i 9; i){if(ct[i]){ans i;ct[i]--;break;}}for(int i 0; i 9; i){while(ct[i]--)ans ans*10i;}return ans;}}
};0 ms 5.9 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918232.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!