leetcode 每日一题
每日一练
盛寒
初来乍到,请多多关照~
展开
-
每日一题 最长回文子串
好久没更了,今天带来的是一道关于动态规划的问题。原创 2024-04-13 21:36:44 · 180 阅读 · 0 评论 -
每日一练 寻找两个正序数组的中间数
首先,我们应该想到的一种方法是把两数组合并为一个整体的数组,然后返回其中位数即可。那么我们如何合并两数组呢?首先,我们要注意,我们只是想要找这两数组的中位数,其实并不需要把整个的数组全都和起来,我们只需要找到数组的中位数所在的位置即可,其次,我们的搜寻方法能否优化呢?我们只需要设置进入数组的长度即可,即若其中一个已经全部进入数组,那么直接把另一个数组的剩余所有数全进入即可。下面是解题思路:( 作者:windliang 来源:力扣(LeetCode))显然,若其中一个为空,我们直接判断另一个的中位数即可。原创 2024-04-05 12:20:06 · 342 阅读 · 0 评论 -
每日一练 最后一个单词的长度
从后往前遍历,思路简单。但要注意极限情况下的数组越界问题。原创 2024-03-31 22:15:15 · 107 阅读 · 0 评论 -
每日一练 找无重复字符的最长子串
问题出在当我们的右窗无法重置位置,就有可能出现右窗在左窗左边的情况,在这种情况下,我们如何能让右窗重新“归位”,保证右窗与左窗的联系呢?实际上,我们把退出左窗放在下一次循环里,循环中我们开始便退出上一次的左窗,这样的话我们可以发现,我们的右窗会保证跟在左窗后最终实现归位。我们的左窗代表我们目前遍历的开始,即我们遍历的子串的开头,右窗从左窗开始进行遍历,每次遍历都把当前的字符放入组内,遇到重复则退出计算此时的子串长度,接下来左窗加1继续遍历。在java中,我们可以用hashset来做这种重复筛查。原创 2024-03-30 13:43:07 · 616 阅读 · 0 评论 -
每日一练 两数相加问题(leetcode)
第一,加的太“多”了,什么叫加多了呢,就是我们的和超过9了,这样的话显然我们要进行进位,我们进位后的那个数等于什么呢?显然是等于我们的和取余10,那么怎么表示我们后面一个要进位加1呢?那么我们之后的和其实等于l1+l2+进位指针的值,综合起来我们一开始把进位指针设为0,那么我们所有的和都可以为l1+l2+进位指针的值。这道题目是一道链表题,我们对于这种链表类,很显然我们最后输出的是初始节点,所以我们要保留我们的初始头指针,那么我们的第一步一定是把头指针保留一份,然后再让头指针往后进行操作。原创 2024-03-29 22:02:17 · 832 阅读 · 0 评论