加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
LC2566.cpp 1001 Bytes
一键复制 编辑 原始数据 按行查看 历史
class Solution {
public:
int getNum(vector<int>& nums) {
int len = nums.size();
int ret = 0;
for (int i = 0, j = 1; i < len; i++) {
ret += j * nums[i];
j *= 10;
}
printf("%d\n", ret);
return ret;
}
int minMaxDifference(int num) {
vector<int> nums;
int ans = num;
while (num) {
nums.push_back(num % 10);
num /= 10;
}
int len = nums.size(), i = len - 1;
while (i >= 0 && nums[i] == 9)
i--;
if (i == -1) return ans;
int t = nums[i];
vector<int> Max = nums;
vector<int> Min = nums;
while (i >= 0) {
if (Max[i] == t) Max[i] = 9;
i--;
}
len -= 1;
t = nums[len];
while (len >= 0) {
if (Min[len] == t) Min[len] = 0;
len--;
}
return getNum(Max) - getNum(Min);
}
};
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化