03 2020 档案

摘要:"第一题" "第四题" 数位DP,之前没有接触过,这次学了一下数位DP 阅读全文
posted @ 2020-03-31 17:34 Shendu.CC 阅读(119) 评论(0) 推荐(0) 编辑
摘要:40分钟刷完4题,打破自己的最高纪录 "第一题" "第二题" 遍历除数的时候从1到sqrt(nums[i]) 10000 sqrt(100000) 是不会超时的 "第四题" KMP 的求最长公共前后缀的部分,就是Next的部分 阅读全文
posted @ 2020-03-22 15:50 Shendu.CC 阅读(168) 评论(0) 推荐(0) 编辑
摘要:"题目" 题解: 现场想到了从结果的二进制的每一位考虑,每一位都是由比它低的低位决定的,但是规律没找好。 举个例子,结果的二进制的第3位(从0位开始)上是否为1,是由0 到 2^4 1 之间的数决定,就是 0000 1111 之间所有数两两相加决定的,所以数组要先对2^4取余。 而相加的结果,只有在 阅读全文
posted @ 2020-03-21 19:57 Shendu.CC 阅读(106) 评论(0) 推荐(0) 编辑
摘要:前言 因为想做一下文本自动摘要,文本自动摘要是NLP的重要应用,搜了一下,有一种TextRank的算法,可以做文本自动摘要。其算法思想来源于Google的PageRank,所以先把PageRank给了解一下。 马尔科夫链 我感觉说到PageRank,应该要提起马尔科夫链,因为PageRank在计算的 阅读全文
posted @ 2020-03-16 13:34 Shendu.CC 阅读(909) 评论(0) 推荐(3) 编辑
摘要:"题目" 题解:DFS,同时记住已经DFS的结果,防止重复搜索 阅读全文
posted @ 2020-03-15 14:33 Shendu.CC 阅读(102) 评论(0) 推荐(0) 编辑
摘要:"题目" 题解:区间DP dp[i][j] 表示i j的所有灯泡都熄灭了之后,能获得最大价值 阅读全文
posted @ 2020-03-15 14:32 Shendu.CC 阅读(68) 评论(0) 推荐(0) 编辑
摘要:"第一题" "第三题" "第四题" 阅读全文
posted @ 2020-03-15 13:37 Shendu.CC 阅读(69) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:给你一个数组,问你还要加上多少个数字,可以让1 n中的人一个数字都可以由数组里的一些元素相加得来 题解:首先考虑这样一个情况,假设在数组的某个位置i上,已经满足了1~k的所有组合都在里头,那么到下一个元素i+1 将会有1~k+nums[I]的所有组合都可以找到,前提是nums[i]+ 阅读全文
posted @ 2020-03-14 20:09 Shendu.CC 阅读(91) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:找到数组里每个元素的右边有多少个元素小于当前元素 题解:单点更新,区间查询。线段树或者树状数组都可以。注意要离散化 阅读全文
posted @ 2020-03-13 20:06 Shendu.CC 阅读(216) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:删除重复的字符,得到字典序最小的结果字符串 题解:贪心,咱们从结果字符串的左边开始,左边第一个字符在原字符串中的右边一定有n 1个不同的字符,这里n就是结果字符串的长度。 所以我们每次遍历数组,找到右边有n 1个不同字符的字符,并选择最小的那个。 由于最多26个字母,最多遍历26次, 阅读全文
posted @ 2020-03-13 20:02 Shendu.CC 阅读(111) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:找出所有区间和在某个范围之内的个数 题解:区间问题用线段树来做。首先n^2 可以遍历所有的区间,这样会超时。 我们用线段树,期望可以在遍历整个线段树的过程中把问题解决掉,遍历整个线段树的效率是O(n logn) 如果遍历每个节点上的区间上所花的时间是n logn,也可以接受,总的效率 阅读全文
posted @ 2020-03-13 16:11 Shendu.CC 阅读(190) 评论(0) 推荐(0) 编辑
摘要:这次终于四题全过了。 这次比赛也确实比较简单 "第一题" 阅读全文
posted @ 2020-03-08 12:54 Shendu.CC 阅读(246) 评论(0) 推荐(0) 编辑
摘要:现场只写出来两道。 "第一题" 题意:找到数组任意一个子集的和是偶数 题解:贪心,找到任意一个偶数或者两个奇数就可以了。 阅读全文
posted @ 2020-03-08 12:43 Shendu.CC 阅读(149) 评论(0) 推荐(0) 编辑
摘要:"题目" DP 险过。 dp[i][j] :means it need remove at least dp[i][j] characters to get vaild parenthese from position i to postion j in string. vector str[i][ 阅读全文
posted @ 2020-03-07 11:52 Shendu.CC 阅读(83) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:有n个操作,存入数字,和输出中位数 题解:要确保输入数字的操作和输出中位数的操作,都是低于等于Log(n)的效率。 那么怎么做呢?我们维护两个multiset ,内部是一棵红黑树。一个树A 维护的是较大值,树B维护的是较小值。A,B平分秋色。 中位数显然就是A里的最小值和B里的最大值 阅读全文
posted @ 2020-03-06 17:26 Shendu.CC 阅读(96) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:给你一个只有0 9组成的字符串,让你在其中插入'+',' ',' ' 使其计算得到的值恰好等于target,输出所有的可能性。 题解:不给数据范围,很显然就会考虑到超时,每个字符后面有四种选择,如果暴搜的话,字符长度超过10几个,就很快超时了。 但是我可以告诉你,这题目的字符串最多只 阅读全文
posted @ 2020-03-06 12:39 Shendu.CC 阅读(107) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:从最左上角的点开始,按照格子里规定的方向走,必要时可以改变方向,cost+1。问你能够顺利走到最右下角的最小的cost是多少 题解:我们用贪心的思路,从左上角开始,用BFS 计算每个格子到达时所花费的最小cost。这个方法有点像dijskra算法,区别就是不用去找最小的点,因为在BF 阅读全文
posted @ 2020-03-05 10:40 Shendu.CC 阅读(204) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:在一个固定长度的滑动窗口里,计算窗口里的最大值,并且这个滑动窗口每次移动一个。 题解:首先想到的是set,窗口滑动,就是删除一个数,增加一个数,都是O(logn)的效率 80ms 我们还可以用单调栈,实现在窗口滑动的过程中O(1)的效率得到最小值。 单调栈是一个单调递减的栈,入栈,也 阅读全文
posted @ 2020-03-04 15:52 Shendu.CC 阅读(89) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:给你一个数组,让你计算每个位置上除这个位置以外的所有元素的乘积。不能用除法,O(n)的效率,O(1)的空间 题解:不能用除法,因此每个位置的答案可以由两部分乘积组成,左边的前缀积和右边的后缀积。 前缀和后缀积,我们可以不用数组储存,而是在遍历的过程中直接计算,并存到结果数组里 阅读全文
posted @ 2020-03-04 15:44 Shendu.CC 阅读(68) 评论(0) 推荐(0) 编辑
摘要:"题目" 阅读全文
posted @ 2020-03-04 15:40 Shendu.CC 阅读(71) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:在一颗普通的二叉树里找到两个节点的最近公共祖先。 题解:递归,如果当前节点等于p或者q,那返回当前节点了。 然后递归左子树,和右子树。 如果左子树和右子树返回的都不是NULL,说明当前节点是公共祖先。 否则返回两个子树有值的那一个。 阅读全文
posted @ 2020-03-04 15:39 Shendu.CC 阅读(76) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:判断BST中两个节点的最近的公共父节点 题解:递归的时候判断如果两个节点的值在父节点两边,那个这个父节点就是最近的公共父节点。否则按照二叉搜索树的规则递归下去。 阅读全文
posted @ 2020-03-04 15:33 Shendu.CC 阅读(77) 评论(0) 推荐(0) 编辑
摘要:"题目" 判断一个链表是否是回文的。 阅读全文
posted @ 2020-03-04 15:31 Shendu.CC 阅读(80) 评论(0) 推荐(0) 编辑
摘要:"题目" 阅读全文
posted @ 2020-03-04 15:27 Shendu.CC 阅读(75) 评论(0) 推荐(0) 编辑
摘要:"题目" 判断一个数是否是2的整次幂最快的方式是,是判断x和x&( x)是否相等。 这道题目要注意0,和 INTMIN 阅读全文
posted @ 2020-03-04 15:26 Shendu.CC 阅读(77) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:判断BST中第k大的节点 题解:中序遍历 阅读全文
posted @ 2020-03-04 15:18 Shendu.CC 阅读(68) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:在一个数组里找到所有重复次数大于n/3的数字个数。 题解:可以用hash,但是题目要求线性时间和O(1)的空间 我是看题解的才想到。 阅读全文
posted @ 2020-03-04 15:16 Shendu.CC 阅读(69) 评论(0) 推荐(0) 编辑
摘要:"题目" 阅读全文
posted @ 2020-03-04 15:14 Shendu.CC 阅读(69) 评论(0) 推荐(0) 编辑
摘要:"题目" 后缀表达式一把嗦。 阅读全文
posted @ 2020-03-04 15:12 Shendu.CC 阅读(120) 评论(0) 推荐(0) 编辑
摘要:"题目" 翻转二叉树 阅读全文
posted @ 2020-03-04 15:11 Shendu.CC 阅读(67) 评论(0) 推荐(0) 编辑
摘要:"题目" 阅读全文
posted @ 2020-03-04 15:10 Shendu.CC 阅读(63) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示