分割数组的最大值这道题粗看没有任何的思路,看了题解感觉解法真的是很妙,利用二分和自定义的上下界条件等,获得了最终的答案。首先是上下界的定义,我们可以知道子数组各自的和的最小值是单个元素,也就是分割的数组个数等于数组长度,而最大值就是不分割的和。于是 lo = max(nums),hi = sum(nums)然后在这个界限中,可以利用二分找到 k 个子数组各自和最大值的最小,我们可以计算让每个...
Articles in the category of Leetcode
- Home
- Leetcode
全排列这题目也是一开始完全没有思路,不知道咋才能把全部的都输出一遍,感觉套for循环也不知道怎么写,后来看到答案直接恍然大悟,这其实是一个经典的回溯题,d...
看到这道题的第一印像是用dp,$dp[i][j]$ 代表 $s[i..j]$ 的回文子串最大长度,后来发现这个定义好像做不出来。遂看答案,结果发现定义应该是代表 $s[i..j]$ 是否为回文串。然后就是需要看如何通过现有状态得到后面的状态,首先考虑回文串如何判断,如果有 $s[i] == s[j]$,且 $j-i <= 2$ 则必为 true,如果 $dp[i+1][j-1]$ 为 ...
接雨水题目就是给一个高度的一维数组,说实话这个题目如果不看答案感觉很难想到解法,我倒是想到了要记录每格的状态,其他的完全想不到怎么接着写了。后续看了答案才...
题目描述:在一棵无限的二叉树上,每个节点都有两个子节点,树中的节点 逐行 依次按 “之” 字形进行标记。如下图所示,在奇数行(即,第一行、第三行、第五行……)中,按从左到右的顺序进行标记;而偶数行(即,第二行、第四行、第六行……)中,按从右到左的顺序进行标记。给你树上某一个节点的标号 label,请你返回从根节点到该标号为 label 节点的路径,该路径是由途经的节点标号所组成的。示例:输入...