LeetCode题目笔记——6359. 替换一个数字后的最大差值
创始人
2024-05-26 07:39:50
0

文章目录

    • 题目描述
    • 题目链接
    • 题目难度——简单
    • 方法一:替换
      • 代码/Python
      • 代码优化
    • 总结

题目描述

给你一个整数 num 。你知道 Danny Mittal 会偷偷将 0 到 9 中的一个数字 替换 成另一个数字。

请你返回将 num 中 恰好一个 数字进行替换后,得到的最大值和最小值的差位多少。

注意:

  • 当 Danny 将一个数字 d1 替换成另一个数字 d2 时,Danny 需要将 nums 中所有 d1 都替换成 d2 。
  • Danny 可以将一个数字替换成它自己,也就是说 num 可以不变。
  • Danny 可以将数字分别替换成两个不同的数字分别得到最大值和最小值。
  • 替换后得到的数字可以包含前导 0 。
  • Danny Mittal 获得周赛 326 前 10 名,让我们恭喜他。

 

示例 1:

输入:num = 11891
输出:99009
解释:
为了得到最大值,我们将数字 1 替换成数字 9 ,得到 99899 。
为了得到最小值,我们将数字 1 替换成数字 0 ,得到 890 。
两个数字的差值为 99009 。

示例 2:

输入:num = 90
输出:99
解释:
可以得到的最大值是 99(将 0 替换成 9),最小值是 0(将 9 替换成 0)。
所以我们得到 99 。

 

提示:

  • 1 <= num <= 108

题目链接

题目难度——简单

方法一:替换

  直觉来看,为了得到最大值,我们可以从左往右依次从高位看向地位,把第一个非9数字以及后面的相同数字替换为9就能得到最大值。同样,为了得到最小值,我们可以直接把最高位以及后面和最高位相同的数字都替换为0,就能得到最小值。这样做的前提是本题可以有前导0的存在。

代码/Python

class Solution:def minMaxDifference(self, num: int) -> int:nums = [int(x) for x in str(num)]tmp = nums.copy()tag = 0for n in nums:if n < 9:tag = nbreaknums = [9 if x == tag else x for x in nums]tag = 0for n in tmp:if n > 0:tag = nbreaktmp = [0 if x == tag else x for x in tmp]max_num = int(''.join([str(x) for x in nums]))min_num = int(''.join([str(x) for x in tmp]))return max_num - min_num

在这里插入图片描述
  再多看一眼代码,就会爆炸 ,可以发现有很多可以优化的地方,比如没必要一开始把原数转换成数字列表,完全可以直接用字符串,第二次的循环也没必要。优化一下,就变成:

代码优化

class Solution:def minMaxDifference(self, num: int) -> int:nums = str(num)tag = '0'for n in nums:if n < '9':tag = nbreakmaxx = nums.replace(tag, '9')minn = nums.replace(nums[0], '0')return int(maxx) - int(minn)

总结

  方法一时间复杂度O(N),空间复杂度O(N)。

相关内容

热门资讯

香港特区政府财政司司长陈茂波:... 5月18日,香港特区政府财政司司长陈茂波在最新发表的网志中表示,环顾全球主要市场,资金正逐渐向引领创...
聚焦所需所盼优化创新生态持续营... 转自:湖州日报  记者  孙文斌  崔松云  胡熠烨  臧晶晶  张志炜   本报讯  今年5月20...
体育时评丨以法律利剑劈谣斩邪 ... 公安部网安局日前发布通报,公安机关对于恶意传播关于国际乒联第一副主席、WTT世界乒联主席、中国乒协原...
调查:“网约摩的”上线起步价五... 近期,“网约摩的”平台开始在多地上线,由于价格便宜,受到部分消费者欢迎,但也有一些消费者质疑其安全性...
深圳水贝商场金价周跌超4%至7... 观点网讯:5月18日,深圳水贝商场金价降至756元/克,周跌幅超4%。据央视财经报道,受近期国际金价...
数十万人激情走大连 5月17日,数十万中外徒步爱好者参与第23届大连国际徒步大会。 王华 摄 05
外卖骑手“五险一金”迎来利好,... 来源:工人日报 多家平台宣布为全职骑手缴纳社保,怎么缴、如何减小双方压力等问题引关注——外卖骑手“五...
正大量上市!初夏很多人爱吃,有... 来源:青岛日报 初夏时节,豌豆新鲜上市,鲜甜软糯的口感让不少人大快朵颐。宁波61岁的陆先生却因连吃5...
新华财经早报:5月19日 转自:新华财经•2024年我国卫星导航与位置服务产业总产值达5758亿元人民币,同比增长7.39% ...
中国交通“第五极”,要来了 一碗热干面的酱香尚未散去,刀削面的臊子香已飘至眼前。近日,武汉、合肥、南昌、长沙、太原、郑州联合发起...
“骑”乐无穷 绿色出行 转自:河北新闻网5月18日,自行车爱好者在参加“泉城骑行·临城有约”全民骑行活动。近年来河北邢台临城...
美国财长贝森特将出席G7财金领... 转自:新华财经新华财经北京5月19日电 美国财政部发言人18日表示,美国财政部长贝森特将出席本周二在...
自媒体假扮官方蹭国安热度 【#自媒体假扮官方蹭国安热度#】#网店非法兜售国安机关警用标识#一个时期以来,国家安全机关创新开展国...
“三全陪伴”织密未成年人保护网 转自:湖州日报  记者  王艳琦   本报讯  “法官阿姨,同学给我起侮辱性外号怎么办?”“爸妈吵架...
江苏东台电信“护航”西溪泰山新...   本报讯 近日,中国电信江苏东台分公司助力实施东台西溪泰山新村安置区智能化建设项目,为安置区住户建...
振兴论坛丨从“都一样”中干出不...   王坤  在日常工作中不乏这样的现象:有的人意识到了工作中存在的问题,但放眼一看,其他地方或领域也...
职业本科评估有了“指挥棒” 中共中央、国务院印发的《教育强国建设规划纲要(2024—2035年)》(以下简称《规划纲要》)指出,...
“双轮驱动”持续推高制造业投资... 转自:湖州日报  记者  邵鼎   本报讯  连日来,位于长兴县的浙江莱尔光电科技有限公司年产1亿米...
触摸“文明的密码” 转自:湖州日报  记者  王洁涵   “当我把眼睛沉入你的眼睛,我瞥见幽深的黎明,我看到古老的昨天…...
“灵感PENGPENG节”在宁... “PENG”出灵感,还有朋友、碰杯、碰撞、怦然心动“灵感PENGPENG节”在宁开幕南报网讯(记者 ...