摘要:
2020-01-20 22:32:28 问题描述: 问题求解: 双指针 + 贪心。 public int bagOfTokensScore(int[] tokens, int P) { Arrays.sort(tokens); int res = 0; int curr = 0; int l = 0 阅读全文
摘要:
2020-01-19 13:18:11 问题描述: 问题求解: 本题是要求挑选出一个字符串的子序列,并且保证得到的子序列中能够有所有出现的字符且其字典序最小。 最容易想到的解法就是dfs了,暴力去进行检索,并生成所有的满足条件的子序列,最后从中得到字典序最小的那个。可惜使用这种算法的结果是tle。 阅读全文
摘要:
2020-01-12 18:28:13 问题描述: 问题求解: 本题还是非常困难的,至少我在看到这个题目的时候是没有想到怎么解决的。我当时联想到的题目是那条grid走两遍的题目,那条题目也很麻烦,使用的是dp。 本题最难的地方在于如何定义状态,其实本题可以看作是个路径规划问题,所以状态就是左指在的位 阅读全文
摘要:
2020-01-11 17:47:59 问题描述: 问题求解: 本题和另一题target sum非常类似。target sum的要求是在一个数组中随机添加正负号,使得最终得到的结果是target,这个题目被证明和背包问题是同一个问题,只是需要进行一下转化。 本题其实也是一个套壳题目,只是这次的壳套的 阅读全文
摘要:
2020-01-10 17:51:05 问题描述: 问题求解: 本题是经典的sweep line问题。 对于sweep line问题我们需要考虑的只有两点: 1. 延水平方向 / 时间方向 :时间队列 event queue,一般来说是一个优先队列; 2. 延垂直方向 :sweep line sta 阅读全文
摘要:
2020-01-10 16:16:41 问题描述: 中位数是有序序列最中间的那个数。如果序列的大小是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。 例如: [2,3,4],中位数是 3 [2,3],中位数是 (2 + 3) / 2 = 2.5 给出一个数组 nums,有一个大小为 k 阅读全文
摘要:
2020-01-09 15:14:21 凸包问题是计算几何的核心问题,并且凸包问题的研究已经持续了好多年,这中间涌现出了一大批优秀的算法。 凸包问题的最优解法是Graham Scan算法,该算法可以保证在最差情况下也能在O(nlogn)的时间复杂度求出结果。 Graham Scan算法的核心思路有两 阅读全文
摘要:
2020-01-09 14:51:29 如何高效的判断一个点是否是包含在一个三角形的内部是计算几何里的一个基础问题。 In Triangle Test问题也可以用来解决计算几何里的一个基础问题就是 凸包问题 。 问题描述: 给出一个点s,判断其是否在一个三角形(p, q, r)内部。 问题求解: 判 阅读全文
摘要:
2020-01-08 10:16:37 一、Falling squares 问题描述: 问题求解: 本题其实也是一条经典的区间问题,对于区间问题,往往可以使用map来进行区间的维护操作。 二、Range module 问题描述: 问题求解: Range module和上题都可以采用map来进行区间维 阅读全文
摘要:
2020-01-05 11:52:40 问题描述: 问题求解: 好像多次碰到类似的lcs的变种题了,都是套上了回文的壳。这里再次记录一下。 其实本质就是裸的lcs,就出结果了。 阅读全文