
leetcode
记录力扣刷题中以前没有的思路
二月二十月色真美
这个作者很懒,什么都没留下…
展开
-
Leetcode 蓄水池抽样
转载:作者:邱simple链接:https://www.jianshu.com/p/7a9ea6ece2af蓄水池抽样算法(Reservoir Sampling)许多年以后,当听说蓄水池抽样算法时,邱simple将会想起,那个小学数学老师带他做“小明对水池边加水边放水,求何时能加满水”应用题的下午。一、问题我是在一次失败的面试经历中听说蓄水池算法的。之后上网搜了搜,知道是一个数据抽样算法,寥寥几行,却暗藏玄机。主要用来解决如下问题。给定一个数据流,数据流长度N很大,且N直到处理完所有数据之前都转载 2021-05-25 09:23:47 · 284 阅读 · 0 评论 -
leetcode 搜索
前言:以前是用不来搜索的,更不会用搜索解决排列组合的题目。最近在做leetcode的回溯标签的时候,几道排列组合的题点通了思路。39. 组合总和.40. 组合总和 II.46. 全排列.一、利用dfs进行搜索把搜索看做遍历一棵树i 当前节点的子节点就是当前可以还可以访问的若干情况ii 从根到叶子节点的路径就是一种最终的结果,根到所有叶子的路径就是所有的结果iii 在遍历树的时候根据题意进行剪枝和回溯二、以 46. 全排列 为例给定一个 没有重复 数字的序列,返回其所有可能的全排列。示原创 2021-03-30 17:04:50 · 163 阅读 · 1 评论 -
leetcode 中序迭代遍历
以前一直对二叉树的中序迭代遍历的理解不是很清楚,今天刷到了力扣上一篇题解 彻底吃透二叉树的前中后序递归法和迭代法!!,上面有一段话如下:为了解释清楚,我说明一下 刚刚在迭代的过程中,其实我们有两个操作:处理:将元素放进result数组中访问:遍历节点提点了我一下,在中序遍历迭代过程中,是一直有一指针在遍历访问结点,且不会重复遍历,遍历过程中借助栈,来达成中序遍历的目的。...原创 2021-03-04 13:53:33 · 142 阅读 · 1 评论 -
leetcode 树总结
leetcode 树总结所遇见的树的题目差不多可以归为一下几类:前中后序遍历,dfs,bfs,层次遍历,二叉搜索树。碰到一个比较有意思的思想是,leetcod的一个题解中将数的前中后序遍历与dfs关联:1161. 最大层内元素和....原创 2021-01-08 21:04:56 · 219 阅读 · 0 评论 -
leetcode 位运算总结
leetcode 位运算总结1、Rabin-karp算法2、Brian kernighan算法3、异或的运用4、判断数字的二进制某位是否为“1”1、Rabin-karp算法 用于将字符串映射为相应的掩码,字符串不相同时,掩码不同。例如,对于一个字符串S,其掩码可如下计算:其中,代表的是S的定义域大小,比如说如果S全是英文字母,那么的值为26,因为英文字母就只有26个。然后这个函数是一个映射函数,映射S的定义域中的每一个字符到数字的函数。leetcode 187 重复的DNA序原创 2020-12-28 13:03:48 · 281 阅读 · 0 评论 -
leetcode 316 单调栈 + 贪心
单调栈 + 贪心的思想(leetcode 316)leetcode题目思路代码leetcode题目 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 示例1: 输入:s = "bcabc" 输出:"abc" 示例2: 输入:s = "cbacdcbc" 输出:"acdb"思路尽可能保持最左边的字符串字典最小,当来到了第i个字母时,如果其小于其左边的字母,同时左边的字母在后续会出现,则将原创 2020-12-11 14:15:03 · 150 阅读 · 0 评论