摘要: 剑指 Offer 49. 丑数 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 思路 方法一:堆 + 哈希去重 方法二:动态规划 代码 堆 + 哈希去重 typedef long long ll; class Solution { p 阅读全文
posted @ 2022-04-28 16:22 沐灵_hh 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 48. 最长不含重复字符的子字符串 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 代码 能用 unordered_set 还是用 unordered_set 吧,虽然慢了点。 class Solution { public: int lengthO 阅读全文
posted @ 2022-04-28 15:58 沐灵_hh 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 47. 礼物的最大价值 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物? 代码 为了不 阅读全文
posted @ 2022-04-28 15:53 沐灵_hh 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。 思路 动态规划或深度优 阅读全文
posted @ 2022-04-28 15:49 沐灵_hh 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 45. 把数组排成最小的数 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 思路 贪心算法 代码 class Solution { public: static bool cmp(const string& a, const stri 阅读全文
posted @ 2022-04-28 15:43 沐灵_hh 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 44. 数字序列中某一位的数字 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。 请写一个函数,求任意第n位对应的数字。 思路 首先确定这个位所在数字的位数,然后在确定 阅读全文
posted @ 2022-04-28 15:39 沐灵_hh 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 43. 1~n 整数中 1 出现的次数 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 思路 对于每一位考虑1出现的个数,比如对于百位,从0 开始每1000个数字百位上的 阅读全文
posted @ 2022-04-28 15:23 沐灵_hh 阅读(26) 评论(0) 推荐(0) 编辑