漫画:六九式是一道简单有趣的算法题(开车...)
(越单纯,越幸运)
今天是小浩算法 “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个最大的元素)
漫画:腾讯面试题(面试官问我会不会修供暖器,我说没问题)
漫画:位运算技巧整理汇总+一道被嫌弃的题目
如果你问我对学习算法有什么建议,这篇文章是必看的:
漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)
漫画:呕心泣血算法指导篇(真正的干货,怒怼那些说算法没用的人)
小浩算法,每日一题
关注领取《图解算法题》高清版
进群的小伙伴请加右侧私人微信(备注:进群)
漫画:六九式是一道简单有趣的算法题(开车...)相关推荐
- 【算法精讲】分享一道很不错的算法题
戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 作者:帅地 转自:苦逼的码农 分享一道 ...
- 【关于一个单身狗在七夕向大家分享的简单必会算法题】
七夕来袭!是时候展现专属于程序员的浪漫了!单身狗的我选择了刷题hhh 直接上题吧 多重背包问题 I 有 NN 种物品和一个容量是 VV 的背包. 第 ii 种物品最多有 sisi 件,每件体积是 vi ...
- jq 数组不重复_一道简单的数组遍历题,加上四个条件后感觉无从下手
题目描述 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数.假设只有一个重复的整数,找出这个重复的数. 示例 1: 输入: ...
- 一道简单的sql语句题
全文共4371个字,22张图,预计阅读时间25分钟. 这是很早之前面的,第一次面数据分析的面试,当时还傻乎乎的以为数据分析和数据挖掘是一回事呢.结果才发现,数据分析岗位大多注重的是数据库的能力,比如s ...
- 一道十分有趣的概率题!3局2胜和5局3胜哪个胜算更大?你怎么思考
今天看到一个关于概率学的题目,感觉挺不错的,于是自己研究了一下! 题目为:"5局3胜和3局2胜,哪种胜算大" 我看了一下网友的评论,有一些人直接通过简单计算,3除以5,2除以3来进 ...
- 一道很简单的贪心算法题~【贪心:我不要脸的伐?】
文章目录 题目描述 输入 输出 样例输入 样例输出 C语言代码实现 思路 排序 处理 完整代码 C++代码实现 排序 完整代码 彩蛋 题目描述 小健有一家自己的商店,主营牛奶饮品,最近资金紧张,他想以 ...
- 一道简单的CTF登录题题解
一.解题感受 这道题50分,在实验吧练习场算比较高分,而且通过率只有14%,比较低的水平. 看到这两个数据,一开始就心生惬意,实在不应该呀! 也是因为心态原因,在发现test.php之后,自以为在SQ ...
- c语言求满足不等式的最小值,高手请进,请教一道简单的c语言题!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include #include #include using namespace std; if ...
- Python等级考试中的一道简单的血压数据处理题
代码: 所处理的数据仅局部图所示 import pandas as pd import numpy as np txt = pd.read_table('C:/Users/ASUS/Desktop/血 ...
- android 逆向题目,SafeBox一道简单的安卓逆向题
先安卓测试一下,发现输入字符串包含非数字字符时,会报错,然后用procyon-decompiler反汇编,下面我贴出两个重要文件: com/geekerchina/hi/MainActivity.ja ...
最新文章
- python安装系统要求_python需要什么系统 | window重装系统教程
- mysql killed进程不结束_优秀的数据库产品——MySQL 云数据库服务
- 一文讲透大型网站架构模式核心原理与案例分析
- TC的文件拷贝/移动
- 程序员为什么那么难升职
- Python字典操作
- shell不允许输入空字符_反弹shell | ncamp;bash
- Thinkpad E570/580可用的黑苹果EFI
- 模拟集成电路—拉扎维第三章知识点
- 自定义快捷键整理 - Windows
- 图解TCP/IP 读后感
- 2000 Followers-3D CSS text
- 关于react-router-dom 6.0.1的基础写法 解决Error A <Route> is only ever to be used as the child of <Routes>
- 高德地图自定义镂空区域
- 青龙面板-花花阅读6.25 最新修复版
- SkeyeRTMPLive多流媒体协议转无插件直播协议(RTMP)解决方案
- HTTP协议实现文件下载
- Android Debug Bridge(adb)
- 中国省份名字的由来!
- 【5000字长文】从 S3 到 DataZone,亚马逊云科技用16年讲完一个数据的故事