随笔分类 - LeetCode
摘要:"题目" 计算矩形覆盖面积
阅读全文
摘要:"题目" 题意:计算一个完全二叉树的节点个数 题解:DFS 或者BFS都太low,我们可以用O(log(n)^2)的效率解决,n为节点个数,log(n)就是树的高度。 我们首先获得数的高度,然后,二分去寻找,最后一层的最右边的一个节点,就能计算树的节点个数了。 二分是Log(n),DFS也是Log(
阅读全文
摘要:"题目" 题解:动态规划
阅读全文
摘要:"题目" 题解:当然可以O(n k)的效率,但是这样很low,我们可以用O(n log(k))的效率去解决。 首先按照暴力的思想,从一个元素x开始,遍历它后面的k 1位元素,判断是否有符合的条件。如果将这个k个数排序的话,就不用遍历啦,只要找到x的位置,然后判断x的前后是否满足条件皆可以了。 但是如
阅读全文
摘要:"题目"
阅读全文
摘要:"Number of Days Between Two Dates " 计算两个日期的相差天数 "Validate Binary Tree Nodes " 给你一些点和边,判断是否是一颗二叉树。只需要判断所有点的入度& leftChild, vector& rightChild) { for(int
阅读全文
摘要:"题目"
阅读全文
摘要:"题目" 题意:从1 9中选出k个数之和等于n,这个k个数不能有相同的,输出所有可能的k个数字的集合,结果也不能重复 题解:暴搜,从n开始,每次减去1 9中的某个数字,然后继续递归。要注意剪枝,比如1 9中的数字大于n/k的是不可能存在答案中的,如果n 的值小于sum[k]也是不会有答案的。sum[
阅读全文
摘要:"题目" 题意:找到一个数组里第K大的数字。 题解:我们当然可以排序好了,之后,选择第K大的数字。但是这样做一点技术含量也没有。 排序算法选用快排。寻找第K大的数字,不必把数组完全排完序之后,再找第K大。快排中是选取一个数字,把大于它的放在右边,小于它的放在左边,在递归的时候,我们判断k 和右边数字
阅读全文
摘要:"题目" 题意:举例:给你一个数组[9,3,5],问你这个数组是否可以由数组[1,1,1]经过某种变换得到。 变换的步骤就是每次用数组的和,去替代数组中的某一个元素,直到达到目标数组。 题解:我们从后往前递推,比如[9,3,5],那么它的上一个状态一定是[1,3,5] ,继续[1,3,1] [1,1
阅读全文
摘要:"题目" 题意:有n个节目,每个节目有一个持续的天数,你一天只能看一个节目,问你这么多天最多能看几个节目 题解:贪心,我们把那种截止日期最近的节目,都看了。把节目按照截止日期从小到大排序。接下来一个一个节目看,可以用数组标记的方法,for循环判断在当前节目的区间内,还有有没有天数是空闲的。 最后一步
阅读全文
摘要:"题目" 题意:求一个数组的后k个数字的乘积,这个数组是不断动态增加的。 题解:由于数字可能为0,所以我们只要维护最后一个0 的位置pos 之后的所有数字的前缀乘积就可以了。如果kpos那么答案就是s[len]/s[len k]
阅读全文
摘要:"题目"
阅读全文
摘要:"题目" 题意:就是有一些矩形,然后让你输出一些点,这些点连成的线是这些矩形的外围。叫做城市天际线。具体的看题目就好了。 题解:首先,设立一个区间,用数组表示。每遇到一个矩形,我们就把这个矩形的底部的宽所占的区间的值全部都设成这个矩形的高。在覆盖区间的时候,如果发现这个区间已经被覆盖过,如果当前值比
阅读全文
摘要:"题目" 和这道题目 https://www.cnblogs.com/dacc123/p/12295924.html 一样,改进了一点,就是首尾也是相邻的。 那么我们在DP的时候,还要考虑第一个房子有没有被抢劫的情况。所以状态数组变成了DP[i][j][k],j表示i个房子是否抢劫,k表示第1个房子
阅读全文
摘要:"题目" 字典树。
阅读全文
摘要:"题目" 和这道题目一样:https://www.cnblogs.com/dacc123/p/12306344.html 拓扑排序,把排序结果打印出来了。
阅读全文
摘要:"题目" 题意:求一个数组里最短的连续子序列的和大于等于s的长度 题解:可以用动态规划,我就是用动态规划过的,但是确实不是最简单的解法,看了题解最简单的是双指针, 双指针 DP 二者效率都是差不多的。
阅读全文
摘要:"题目" 题意:实现一个前缀树
阅读全文
摘要:"题目" 题意:有n门课程,就是n个顶点,有m个对应关系:x,y,表示只有先上了y,才能上x。也就是x到y有一条有向边。问你求是否存在环。 题解:对于有向图求是否存在环,可以用拓扑排序,拓扑排序就是寻找入度为0的顶点,然后删去,并减少相邻点的入度,再寻找入度为0的点,直到所有顶点都删去,如果存在换,
阅读全文
浙公网安备 33010602011771号