LeetCode刷题记录(十七):6 和 9 组成的最大数字

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第17天,点击查看活动详情

6 和 9 组成的最大数字

题目如下图所示,也可以在LeetCode题目中找到此题。

image.png

题目解析

题目提供素材

本道题提供了一个素材。

  1. 一个由6和9组成的数字。可以是6,也可以是9,也可以是69/96/99等等。

注意:数字最大位数为4位;而且num每一位上的数字都是 6 或者 9。

我的解读

这道题在一众题中是属于简单的,而且就本身的题材而言,完全可以利用穷举法一一列举出来后,通过if判断来获取;或者通过Map集合直接get出来。

相信那样的效率绝对会很高的。

但是出于刷题学习的目的,还是要通过一定的规律和逻辑来得到预期结果的。

在这其中,我们可以通过固定的3的10次方来衡量,我们只需要判断需要加上10的几次方即可。

解题思路

我实在是没控制住穷举法,所以穷举了几个结果值。

然后通过循环来判断出10的几次方即可。

其中需要有两个中间值shi、index。

shi来存储当前循环遍历的层数,也是当前循环到达的10的次方数。

index来判断遇到6的情况,因为是从小到大的遍历,需要循环完每一个数值才行。

具体可以看一下代码,题不难。

代码

执行代码如下所示:

java class Solution { public int maximum69Number (int num) { if(num == 6){ return 9; } if(num == 9 || num == 99 || num == 999 || num == 9999){ return num; } int shi = 1; int index = 0; for (int i = num; i > 0; i = i / 10) { if(i % 10 == 6){ index = shi; } shi = shi * 10; } return num + index * 3; } }

执行结果

今天的执行结果还可以的,我就该全算出来,直接if判断,那样估计能打倒一大批人。

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ijiran

一杯咖啡太贵,一块糖就可以

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值