![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题日记
文章平均质量分 57
Sindweller5530
这个作者很懒,什么都没留下…
展开
-
刷题笔记:二叉树剪枝(递归,迭代)
注意在遍历完某一节点的左子树之后,我们会遍历其右子树,此时要标记这个节点我们已经访问完左子树了,否则会一直循环访问其右子树。当左子树为空且右子树为空且本身值为0时,删除该节点(删除的方式就是返回nil)居然官方也没给出什么其他解法。那么就用显式的栈来实现一下吧。遇到这种问题果然第一反应还是递归,算是比较简单暴力的解法。...原创 2022-07-20 23:00:27 · 442 阅读 · 0 评论 -
刷题笔记:二叉树的中序遍历(三种解法-递归,迭代,Morris)
二叉树的中序遍历左根右原创 2022-07-19 21:56:42 · 234 阅读 · 0 评论 -
编程题:单词接龙游戏(暴力递归)
题目 单词接龙参考了牛客网算法课助教的代码单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分不能存在包含关系,例如at和atide间不能相连。输入描述:输入的第一行为一个单独的整数n(n ≤ 20)表示单词数,以下n行每行有一个单词,输入的最后一行为原创 2021-01-12 16:35:49 · 1167 阅读 · 0 评论 -
【2020-10-14】LeetCode每日总结
解码方法有几种LeetCode 91.解码方法参考题解:leetcode由于有0的存在,所以更好的方法是从后往前遍历,如果起始是0就返回0;每一位有2种情况0 dp[i]=0other 例如226 则该位的解码要么是自己本身要么是跟后面的2连起来成为22,所以是i+1和i+2的解码数加起来 dp[i]=dp[i+1]+dp[i+2];如果该位和后面连起来>26则dp[i]=dp[i+1]注意找i+1时不要越界翻转链表内的区间LeetCode92. 反转链表2思路:链表分段,最终原创 2020-10-14 22:16:25 · 93 阅读 · 0 评论 -
【2020-10-13】LeetCode每日5题总结
1 求数中最多连续的1左移一次和原数相与,直到变为0,计操作次数既是最多连续的1。(题解来自:Mcdull)应用:LeetCode211.最大正方形求1组成的正方形的宽正常解法:暴力求解的话就是穷举,遍历二维数组将每一个1作为正方形的左上角,如果想扩大正方形,则新增一行一列且必须由连续1组成。如何判断新增的一行一列是否是连续的1?令k从1开始直到目前可达最大宽/高(min{宽、高}),这里的宽是row-i,高是col-j。即k是可以增加的区域。令m是从0-k,这样可以遍历到增加的一行和一列的原创 2020-10-13 14:02:32 · 153 阅读 · 0 评论 -
2020-09-27力扣周赛摩天轮题解记录
题目经营摩天轮的最大利润你正在经营一座摩天轮,该摩天轮共有 4 个座舱 ,每个座舱 最多可以容纳 4 位游客 。你可以 逆时针 轮转座舱,但每次轮转都需要支付一定的运行成本 runningCost 。摩天轮每次轮转都恰好转动 1 / 4 周。给你一个长度为 n 的数组 customers , customers[i] 是在第 i 次轮转(下标从 0 开始)之前到达的新游客的数量。这也意味着你必须在新游客到来前轮转 i 次。每位游客在登上离地面最近的座舱前都会支付登舱成本 boardingCost ,原创 2020-09-27 16:43:01 · 372 阅读 · 0 评论 -
从零开始LeetCode刷题日记Day1
两数相加循环外:carry:存储进位,值为0或1l3:结果链表头结点 ListNode l3 = new ListNode(0);curr:结果链表操作节点while循环的判定条件为l1或l2当前节点不为nullwhile循环内:val1:存储l1当前节点的值,若l1为null,则赋值为0val2:存储l2当前节点的值,若l2为null,则赋值为0sum:sum = car...原创 2020-02-25 14:38:35 · 181 阅读 · 0 评论