leetCode
mmmMMM12345
这个作者很懒,什么都没留下…
展开
-
leetCode 俄罗斯套娃 maxEnvelopes
给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。作为leetCode老菜来说,依然是老套路,上来啪的一下就是一套暴力运算,很快啊,就超时了。用递归来遍历的话,算法没问题,但是数据一多肯定超时。看了官方解答,.原创 2022-03-04 00:29:57 · 287 阅读 · 0 评论 -
经典题目:最长递增子序列的个数 中遇到的深坑
先简单说一下最长子串:for(let i=0;i<nums.length;i++){ for(let j=0;j<i;j++){ if(nums[i] > nums[j]){ if(dp[j] + 1 > dp[i]){ dp[i] = dp[j] + 1 } } } if(dp[原创 2022-03-03 16:11:36 · 270 阅读 · 0 评论 -
经典题型:N皇后 solveNQueens
经典题型,练习dfs,bfs,回溯,先看题目n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。解题思路:用深度遍历优先和回溯解决,核心伪代码如下//board = [n][n] //制作一个n*n的棋盘,并用0填充function sit(row){ f原创 2022-03-02 18:58:55 · 149 阅读 · 0 评论 -
从先序遍历还原二叉树 recover From Preorder
leetcode第1028题,困难题目描述如下我们从二叉树的根节点 root 开始进行深度优先搜索。在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1。根节点的深度为 0)。如果节点只有一个子节点,那么保证该子节点为左子节点。给出遍历输出 S,还原树并返回其根节点 root。输入:"1-2--3--4-5--6--7"输出:[1,2,5,3,4,6,7]思路分析:首先将字原创 2022-03-02 16:33:43 · 288 阅读 · 1 评论