- 博客(7)
- 收藏
- 关注
原创 LeetCode1079题:活字印刷——Python递归与迭代解法
1. LeetCode1079题:活字印刷你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。注意:本题中,每个活字字模只能使用一次。示例 1:输入:“AAB”输出:8解释:可能的序列为 “A”, “B”, “AA”, “AB”, “BA”, “AAB”, “ABA”, “BAA”。示例 2:输入:“AAABBC”输出:188提示:1 <= tiles.length <= 7tiles 由大写英文字母组成2.
2020-08-27 16:58:28 635
原创 LeetCode93题改编:复原IPv6地址——Python递归与迭代解法
1. 复原IPv6地址LeetCode93题:复原IP地址的原题中要求复原的是IPv4地址,本文将问题改编为复原IPv6地址。IPv6地址由8组16进制的数字来表示,每组表示16比特。这些组数字通过(":")分割。比如, 2001:0db8:85a3:0000:0000:8a2e:0370:7334是一个有效的地址。而且,我们可以加入一些以0开头的数字,字母可以使用大写,也可以是小写。所以,2001:db8:85a3:0:0:8A2E:0370:7334也是一个有效的IPv6地址(忽略0开头,忽略大小
2020-08-25 18:29:57 566
原创 LeetCode93题:复原IP地址——Python递归与迭代解法
1. LeetCode93题:复原IP地址给定一个只包含数字的字符串,复原它并返回所有可能的IP地址格式。有效的 IP 地址 正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用 ‘.’ 分隔。例如:“0.1.2.201” 和 “192.168.1.1"是有效的IP地址,但是"0.011.255.245”、"192.168.1.312"和"192.168@1.1"是无效的IP地址。示例 1:输入:s = “25525511135”输出:[“255.255.11.135”
2020-08-23 22:42:17 1484
原创 LeetCode468题:验证IP地址——正则表达式解法
1. 问题介绍编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1;同时,IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。IPv6 地址由8组16进制的数字来表示,每组表示 16 比特。这些组数字通过 (":")分割。比如, 2001:0db8:85a3:0000:0000:8a2e:0370:733
2020-08-22 20:57:34 847
原创 LeetCode887题:鸡蛋掉落——官方题解方法一、二详解
关于临界楼层查找问题,我已经在先前的两篇博客摔玻璃球(鸡蛋)查找临界楼层和摔玻璃球(鸡蛋)查找临界楼层(后续)中讲的很清楚了,本文将对LeetCode上的临界楼层查找问题——鸡蛋掉落的官方题解的方法一和方法二做详细解读。首先定义变量和函数,玻璃球(鸡蛋)个数NNN,查找楼层数FFF,最大查找次数TTT,当前查找楼层XXX,当NNN和FFF确定时需要的最大查找次数TTT(NNN,FFF)。官方题解方法二的Python代码实现:def superEggDrop(N, F): T = [[0]*(F
2020-08-12 11:37:33 1610 2
原创 LeetCode887题:鸡蛋掉落——动态规划法与数学法
关于临界楼层查找问题的最优查找策略,我已经在上一篇博客摔玻璃球找临界楼层问题中做了详细讲解,本文将继续研究相关问题。假如题目不要求给出具体的最优查找策略,只是问最坏情况下的查找次数,那么该如何求解呢?为叙述方便,定义如下变量或函数:玻璃球个数NNN,玻璃球摔碎个数NbN_bNb,查找楼层数LLL,临界楼层LcL_cLc,最大查找次数TTT,NNN和TTT确定时可查找的最大楼层数LMaxL_{Max}LMax,LMaxL_{Max}LMax与NNN和TTT的函数关系f(N,T)f(N,T)f(N,T
2020-07-15 16:08:21 1293 1
原创 摔玻璃球(鸡蛋)查找临界楼层
题目:有一栋100层高的大楼,给你两个完全相同的玻璃球。假设从某一层开始,丢下玻璃球会摔碎。那么怎么利用手中的两个球,用什么最优策略找出这个临界楼层是第几层?CSDN和知乎上讲解这个问题的文章不少,但是都讲得不全面透彻,本文将全面考虑玻璃球个数和楼层数为任意正整数的解法。题目中的最优策略是指用最经济的办法即最少的查找次数找出临界楼层。假设你正在参加查找临界楼层策略设计大赛,比赛规则是查找次数最少者获胜。目前球数和楼层数已知,临界楼层未知,也就是说任意一层都是潜在的临界楼层,那么使用某种策略所需查找次数可
2020-07-14 16:09:01 2189 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人