【LeetCode每日一题】——1323.6 和 9 组成的最大数字
创始人
2024-05-29 16:39:43

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【解题思路】
  • 七【题目提示】
  • 八【时间频度】
  • 九【代码实现】
  • 十【提交结果】

一【题目类别】

  • 贪心算法

二【题目难度】

  • 简单

三【题目编号】

  • 1323.6 和 9 组成的最大数字

四【题目描述】

  • 给你一个仅由数字 6 和 9 组成的正整数 num。
  • 你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。
  • 请返回你可以得到的最大数字。

五【题目示例】

  • 示例 1:

    • 输入:num = 9669
    • 输出:9969
    • 解释:
      • 改变第一位数字可以得到 6669 。
      • 改变第二位数字可以得到 9969 。
      • 改变第三位数字可以得到 9699 。
      • 改变第四位数字可以得到 9666 。
      • 其中最大的数字是 9969 。
  • 示例 2:

    • 输入:num = 9996
    • 输出:9999
    • 解释:将最后一位从 6 变到 9,其结果 9999 是最大的数。
  • 示例 3:

    • 输入:num = 9999
    • 输出:9999
    • 解释:无需改变就已经是最大的数字了。

六【解题思路】

  • 本题思路较简单,只需要从高位向低位搜索,遇到666就换成999即可,因为高位的值被替换后的值肯定大于低位被替换后的值
  • 当然,具体实现可以有两种方法:
    • ① 把数字的每一位都取出来,然后从高位到低位扫描,遇到666就替换为999即可,最后再将数字拼装返回
    • ② 从高位到低位扫描,不过采用的方法是取模和除法,遇到666就加对应位次的3kkk(kkk表示对应位次000的个数),这样也能实现666到999的转换
  • 最后返回结果即可

七【题目提示】

  • 1<=num<=1041 <= num <= 10^41<=num<=104
  • num每一位上的数字都是6或者9。num 每一位上的数字都是 6 或者 9 。num每一位上的数字都是6或者9。

八【时间频度】

  • 时间复杂度:O(1)O(1)O(1)
  • 空间复杂度:O(1)O(1)O(1)

九【代码实现】

  1. Java语言版
class Solution {public int maximum69Number (int num) {if(num / 1000 == 6){return num + 3000;}else if(num % 1000 / 100 == 6){return num + 300;}else if(num % 100 / 10 == 6){return num + 30;}else if(num % 10 == 6){return num + 3;}return num;}
}
  1. C语言版
int maximum69Number (int num)
{if(num / 1000 == 6){return num + 3000;}else if(num % 1000 / 100 == 6){return num + 300;}else if(num % 100 / 10 == 6){return num + 30;}else if(num % 10 == 6){return num + 3;}return num;
}
  1. Python版
class Solution:def maximum69Number (self, num: int) -> int:if num // 1000 == 6:return num + 3000elif num % 1000 // 100 == 6:return num + 300elif num % 100 // 10 == 6:return num + 30elif num % 10 == 6:return num + 3return num

十【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. C语言版
    在这里插入图片描述

  3. Python语言版
    在这里插入图片描述

相关内容

热门资讯

千亿骗局崩塌,“玄学大师”隋广... 每经记者|孔泽思    每经编辑|何小桃 魏文艺     号称开创了“禅易投资法”...
诵读赏析 |《登高》 转自:草原云登高(节选)[唐]杜甫风急天高猿啸哀,渚清沙白鸟飞回。无边落木萧萧下,不尽长江滚滚来。赏...
财政部将实施1500亿元中央国... (来源:北京商报)北京商报讯(记者 廖蒙)1月23日,财政部官网发布关于2026年中央国库现金管理定...
这8件事 你以为在养生 其实在... 你是不是也这样:每天坚持各种“好习惯”,以为很养生,但身体却越来越累、越来越差?明明饮食“很健康”、...
成都警方通报六起涉烟花爆竹典型... 本文转自【成都公安】;