
letcode中等题
大仙儿智
热爱代码,心怀梦想
https://me.youkuaiyun.com/lmj_like_c
之前的博客密码忘记了,欢迎大家参观
展开
-
【leetcode】319.灯泡开关
题目描述:解题思路:1.暴力模拟法:通过设置一个01字符串来模拟灯泡的开关,双重循环模拟过程中的开关操作,最后为计算字符串中1的个数为答案。(这个方法会超时)2.数学法:引用井水的题解思路在模拟的过程中我们发现:第1个灯泡会在第:1 轮被操作;第5个灯泡会在第:1,5 轮被操作;第9个灯泡会在第:1,3,9 轮被操作;第20个灯泡会在第:1,2,4,5,10,20轮被操作;…可总结为:第I个灯泡会在 自己的因数 时被操作,如果因数的个数是奇数则最后状态为开;题目可转化为求解有奇数个因原创 2020-06-04 11:54:30 · 174 阅读 · 0 评论 -
【let code】647.回文子串
问题描述:问题分析:1.回文子串分为奇数位(中心有一个对称点)和偶数位(中间无对称点);2.以中心点为起始点,向两边逐步扩散,寻求回文的最大长度(过程中相对较小的回文子串顺便计数);3.遍历数组,以每一个点当作中心点遍历计算。完整代码:class Solution { public: int getres(string s, int start, int end) ...原创 2020-01-15 09:27:03 · 148 阅读 · 0 评论 -
【let code】967.连续差相同的数字
问题描述:问题分析:1.可分三种情况进行讨论:N=1时,不论K为多少,结果都是0,1,2,3,4,5,6,7,8,9;K=0时,不论N为多少, 结果都是(111…)222…)(333…)…(999…);一般情况;2.相差为K的数字, 表明每一位有两种选择:前一位加K和前一位减K;(加减后判别是否在数字范围内);3.由于N>1,表明会出现多位,每一位的选择都会带来最终结果的变化,...原创 2020-01-07 10:47:09 · 301 阅读 · 0 评论 -
【let code】442/448 :检测重复字符、检测缺失字符【鸽巢原理】
leetcode 442/448.检测重复字符、检测缺失字符问题描述:问题分析:鸽巢原理(组合数学知识):n个巢, n+1只鸽子,每个鸽子进一个巢,那种总会剩下一个鸽子无家可归;在此问题中我们假设数字的下标为鸽巢,下标对应的值为鸽子编号。经过一次遍历让鸽子(回到鸽子编号-1的巢里)回家,最终发现无家可归的鸽子,和没有鸽子的巢。更详细的讲解请查看:鸽巢思想解决完整代码: for...原创 2019-11-14 16:54:30 · 555 阅读 · 0 评论 -
[let code]5.最长回文子串
the question:analysis:you should find the last longest Palindrome like the frist instance “aba”;spilt the string ,and judge the substr;find the pos and longest length;return the right substr;t...原创 2019-01-28 13:01:54 · 155 阅读 · 0 评论 -
[let code]50. 实现pow(x, n)
问题描述:问题分析:如果底数和幂都是负数,转换;处理特殊情况:底数为1, 幂数为1, -1 或0;处理边界:底数小于1,幂数正无穷大,结果趋近于0,底数大于1,幂数负无穷,结果趋近于0.处理结果,如果幂数为负,转换为正,计算后在结尾处取分数为结果。完整代码:结果展示:...原创 2019-02-10 23:05:30 · 463 阅读 · 0 评论 -
【let code】807.保持城市天际线
问题描述:问题分析:1.题目首先需要算出天际线(不同行列中的最大值);2.为每个点增高,求最多总共能增高多少,而不改变天际线(不破坏该点所在行列的最大值);3.在每个点处判断,此行此列的最大值中的较小的那个(如果不考虑这一点,使用行,则列的最大值被破坏,使用列,行的最大值会被破坏);4.个人感觉这道题应该归于easy,唯一的难点在于读题;完整代码:class Solution {...原创 2019-08-26 16:35:43 · 294 阅读 · 1 评论