随笔分类 -  每周算法练习

上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要:"题目" 题意: 给你三个字符串s1,s2,s3 问你s3是否由s1和s2互相交叉组成。也就是说s3中的某个子序列是s1,剩下的字符串组成s2。 第一眼感觉是最长公共子序列,一开始的想法是先把s3和s1求最长公共子序列,然后从s3的部分中把s1抠出来,在再和s2求最长公共子序列。 但是这种做法很麻烦 阅读全文
posted @ 2020-01-15 14:43 Shendu.CC 阅读(97) 评论(0) 推荐(0)
摘要:"题目" 第一发超时了,可以用一个数组表示状态,所有相等长度的区间,它的BST数目是一样的。 阅读全文
posted @ 2020-01-07 14:03 Shendu.CC 阅读(77) 评论(0) 推荐(0)
摘要:"题目" DFS, 阅读全文
posted @ 2020-01-07 13:52 Shendu.CC 阅读(76) 评论(0) 推荐(0)
摘要:"题目" 阅读全文
posted @ 2020-01-03 18:25 Shendu.CC 阅读(130) 评论(0) 推荐(0)
摘要:"题目" 阅读全文
posted @ 2020-01-03 18:24 Shendu.CC 阅读(88) 评论(0) 推荐(0)
摘要:"题目" 非常简单的BFS 暴搜 阅读全文
posted @ 2019-12-16 16:24 Shendu.CC 阅读(311) 评论(0) 推荐(0)
摘要:"题目" 阅读全文
posted @ 2019-12-16 16:20 Shendu.CC 阅读(240) 评论(0) 推荐(0)
摘要:"题目" 阅读全文
posted @ 2019-12-16 16:19 Shendu.CC 阅读(181) 评论(0) 推荐(0)
摘要:"题目" 动态规划 阅读全文
posted @ 2019-12-12 10:21 Shendu.CC 阅读(102) 评论(0) 推荐(0)
摘要:"题目" dfs 阅读全文
posted @ 2019-12-12 10:20 Shendu.CC 阅读(80) 评论(0) 推荐(0)
摘要:"LeetCode Contest 166" 第一次知道LeetCode 也有比赛。 很久没有打过这种线上的比赛,很激动。 直接写题解吧 "第一题" 很弱智 "第二题" 也很简单的,我先排个序。 但是在用c++的快排的时候,被坑了,我一直的习惯是写自定义比较函数,没有写运算符重载,不知道为什么一直R 阅读全文
posted @ 2019-12-08 12:35 Shendu.CC 阅读(127) 评论(0) 推荐(0)
摘要:"题目" 格雷码 000 001 011 010 110 111 101 就是相邻的两个码之间只变动一个bit, 格雷码的构造方法可以递推得到,它是一个有规律的序列。 具体n的格雷码,可以由n 1得到,方法就是如下图所示,摘自维基百科 当然也有通项公式,用位运算写起来,也巨简单,虽然不知道为什么: 阅读全文
posted @ 2019-12-06 14:54 Shendu.CC 阅读(355) 评论(3) 推荐(0)
摘要:"题目" 阅读全文
posted @ 2019-12-06 14:48 Shendu.CC 阅读(98) 评论(0) 推荐(0)
摘要:"题目" 一开始我读错了题意,以为是二分, 结果却是动态规划的区间DP 我都状态数组是dp[i1][j1][i2][j2],表示第一个字符串的i1到j1区间和第二个字符串的i2到j2区间,是符合条件,是可以旋转转换的。 string最大的长度也不过50多个吧。 所以险过。 状态转移方程,很简单啦,将 阅读全文
posted @ 2019-12-02 14:48 Shendu.CC 阅读(113) 评论(0) 推荐(0)
摘要:"题目" 此题目动态规划可以解 在矩阵上一层一层递推。 dp[i][j]表示当前层,从i到j 可以形成矩形的最大面积。 需要有两个DP数组,dp[i][j] 和dp2[i][j] , 在递推的过程相互轮换。dp[i][j]表示上一层的状态数组,dp2[i][j]表示当前层的状态数组 状态转移方程是 阅读全文
posted @ 2019-11-19 23:19 Shendu.CC 阅读(85) 评论(0) 推荐(0)
摘要:"题目" 单调栈。 如果用O(n^2)的算法,必定超时。 所以我们可以用单调栈,来实现O(n)效率的算法。 单调栈是递增的,每个长方形入栈时,都和栈顶的长方形高度对比,如果大于,则入栈。如果小于则按照高度合并长方形,直到比它高度小的元素,然后再进栈。 最后挨个出栈。 而出栈的过程才是真正计算长方形面 阅读全文
posted @ 2019-11-15 14:28 Shendu.CC 阅读(87) 评论(0) 推荐(0)
摘要:"题目" c++ 阅读全文
posted @ 2019-11-13 11:07 Shendu.CC 阅读(79) 评论(0) 推荐(0)
摘要:"题目" c++ 阅读全文
posted @ 2019-11-13 11:06 Shendu.CC 阅读(103) 评论(0) 推荐(0)
摘要:"题目" 在一个旋转数组里,进行二分。但是会有重复的元素。 二分的关键在于判断当前的中点 mid 是在数组旋转点的左边还是右边,当有重复的元素的时候,当 的时候,是判断不出来的,只能递归了,左边右边都走一下。 阅读全文
posted @ 2019-11-12 14:33 Shendu.CC 阅读(91) 评论(0) 推荐(0)
摘要:"题目" 阅读全文
posted @ 2019-11-07 21:03 Shendu.CC 阅读(102) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 11 下一页