(越单纯,越幸运)

今天是小浩算法 “365刷题计划” 第94 69式是一种。。。咳咳,六九问题是一道很有趣的算法题。嗯,不服来辩。

01

PART

六九问题

注意,num 每一位上的数字都是 6 或者 9 。

1323. 6 和 9 组成的最大数字

给你一个仅由数字 6 和 9 组成的正整数 num

你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。

请返回你可以得到的最大数字。

大概就是这么个意思:

输入:num = 9669

输出:9969

解释:

改变第一位数字可以得到 6669 。

改变第二位数字可以得到 9969 。

改变第三位数字可以得到 9699 。

改变第四位数字可以得到 9666 。

其中最大的数字是 9969 。

02

PART

题解分析

因为题目太简单了,所以。。。。我也不知道为什么拿来讲。反正不是凑字数 ????(我一定不会告诉你我是因为标题污所以选它的)

我们只要找到 num 中最高位的 6,将其翻转成 9,就可以找到答案。

//java
class Solution {public int maximum69Number (int num) {String s = num + "";s = s.replaceFirst("6", "9");return Integer.valueOf(s);}
}

emmmmm,大概就是这样。。。。我感觉要被锤,溜了溜了。

(向下翻还有....)

郑重申明(读我的文章必看):

  • 本系列所有教程都不会用到复杂的语言特性,大家无须担心没有学过相关语法,算法思想才是最重要的!

  • 作为学术文章,虽然风格可以风趣,但严谨,我是认真的。本文所有代码均在leetcode进行过测试运行。

03

PART

这道题考啥

写出上面的答案,大概率是被面试官锤了。那这道题到底是考察我们什么呢?

大家可以看到,这是一道数学题。所以我们需要用数学的方法来进行求解。

//java
class Solution {public int maximum69Number(int num) {if (num / 1000 == 6) {num += 3000;} else if (num % 1000 / 100 == 6) {num += 300;} else if (num % 100 / 10 == 6) {num += 30;} else if (num % 10 == 6) {num += 3;}return num;}
}

其实这种解法,和上面的解法没什么区别。都是从高位到低位进行判断,遇到 6 就将其变为 9。只不过,上面是通过 replaceFirst 来进行,下面通过数值相加的方式来进行。那这种方法的效率我们看看:

吊炸天有没有!难怪古人说,学好数理化,走遍天下都不怕。只会 replace 画,面试结束找妈妈。

现在你知道为什么你和别人一起去面试,面试官挂了你,而选择别人了吧。面试官的思维,往往就是这么朴实无华且枯燥。


今天的题目到这里就结束了,如果想看其他面试题相关内容的,可以看:

漫画:知乎面试题(旋转数组最小值Ⅰ - 基础版)

漫画:知乎面试题(旋转数组最小值Ⅱ - 进阶版)

漫画:美团面试题(TOPK:求第K个最大的元素)

漫画:腾讯面试题(面试官问我会不会修供暖器,我说没问题)

漫画:位运算技巧整理汇总+一道被嫌弃的题目

如果你问我对学习算法有什么建议,这篇文章是必看的:

漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

漫画:呕心泣血算法指导篇(真正的干货,怒怼那些说算法没用的人)

 小浩算法,每日

关注领取《图解算法题》高清版

进群的小伙伴请加右侧私人微信(备注:进群)

漫画:六九式是一道简单有趣的算法题(开车...)相关推荐

  1. 【算法精讲】分享一道很不错的算法题

    戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 作者:帅地 转自:苦逼的码农 分享一道 ...

  2. 【关于一个单身狗在七夕向大家分享的简单必会算法题】

    七夕来袭!是时候展现专属于程序员的浪漫了!单身狗的我选择了刷题hhh 直接上题吧 多重背包问题 I 有 NN 种物品和一个容量是 VV 的背包. 第 ii 种物品最多有 sisi 件,每件体积是 vi ...

  3. jq 数组不重复_一道简单的数组遍历题,加上四个条件后感觉无从下手

    题目描述 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数.假设只有一个重复的整数,找出这个重复的数. 示例 1: 输入: ...

  4. 一道简单的sql语句题

    全文共4371个字,22张图,预计阅读时间25分钟. 这是很早之前面的,第一次面数据分析的面试,当时还傻乎乎的以为数据分析和数据挖掘是一回事呢.结果才发现,数据分析岗位大多注重的是数据库的能力,比如s ...

  5. 一道十分有趣的概率题!3局2胜和5局3胜哪个胜算更大?你怎么思考

    今天看到一个关于概率学的题目,感觉挺不错的,于是自己研究了一下! 题目为:"5局3胜和3局2胜,哪种胜算大" 我看了一下网友的评论,有一些人直接通过简单计算,3除以5,2除以3来进 ...

  6. 一道很简单的贪心算法题~【贪心:我不要脸的伐?】

    文章目录 题目描述 输入 输出 样例输入 样例输出 C语言代码实现 思路 排序 处理 完整代码 C++代码实现 排序 完整代码 彩蛋 题目描述 小健有一家自己的商店,主营牛奶饮品,最近资金紧张,他想以 ...

  7. 一道简单的CTF登录题题解

    一.解题感受 这道题50分,在实验吧练习场算比较高分,而且通过率只有14%,比较低的水平. 看到这两个数据,一开始就心生惬意,实在不应该呀! 也是因为心态原因,在发现test.php之后,自以为在SQ ...

  8. c语言求满足不等式的最小值,高手请进,请教一道简单的c语言题!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include #include #include using namespace std; if ...

  9. Python等级考试中的一道简单的血压数据处理题

    代码: 所处理的数据仅局部图所示 import pandas as pd import numpy as np txt = pd.read_table('C:/Users/ASUS/Desktop/血 ...

  10. android 逆向题目,SafeBox一道简单的安卓逆向题

    先安卓测试一下,发现输入字符串包含非数字字符时,会报错,然后用procyon-decompiler反汇编,下面我贴出两个重要文件: com/geekerchina/hi/MainActivity.ja ...

最新文章

  1. python安装系统要求_python需要什么系统 | window重装系统教程
  2. mysql killed进程不结束_优秀的数据库产品——MySQL 云数据库服务
  3. 一文讲透大型网站架构模式核心原理与案例分析
  4. TC的文件拷贝/移动
  5. 程序员为什么那么难升职
  6. Python字典操作
  7. shell不允许输入空字符_反弹shell | ncamp;bash
  8. Thinkpad E570/580可用的黑苹果EFI
  9. 模拟集成电路—拉扎维第三章知识点
  10. 自定义快捷键整理 - Windows
  11. 图解TCP/IP 读后感
  12. 2000 Followers-3D CSS text
  13. 关于react-router-dom 6.0.1的基础写法 解决Error A <Route> is only ever to be used as the child of <Routes>
  14. 高德地图自定义镂空区域
  15. 青龙面板-花花阅读6.25 最新修复版
  16. SkeyeRTMPLive多流媒体协议转无插件直播协议(RTMP)解决方案
  17. HTTP协议实现文件下载
  18. Android Debug Bridge(adb)
  19. 中国省份名字的由来!
  20. 【5000字长文】从 S3 到 DataZone,亚马逊云科技用16年讲完一个数据的故事

热门文章

  1. 偏差平方和说明什么_什么是平方误差和均方误差
  2. 台式计算机可以放到笔记本立马,怎么把台式电脑投影到笔记本电脑
  3. xsmax进入dfu模式_没有home键的iPhone XS怎么进入恢复模式?我教你
  4. 智能家居语音控制系统的设计与实现
  5. 软件测试技术之项目上线流程
  6. win 10连上wifi 无Internet 解决方法
  7. mikrotikROS路由配置L2TP
  8. HDFS副本存放机制
  9. 2022年10月总结 (距离激动人心的928已经过去一个多月了)
  10. 自建pop邮件服务器,POP是什么?怎样开通?