上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页
摘要: Disjoint Set,最基本的操作就是 Union 和 Find 两个函数。 Union 有根据size和rank两种方法,而 Find 通常使用 path compression 来提升后续搜索的效率。 时间复杂度等可以参考 http://web.eecs.utk.edu/~plank/pla 阅读全文
posted @ 2018-11-21 23:31 約束の空 阅读(367) 评论(0) 推荐(0)
摘要: 方法一:Set (BST) Set存放有人的index。 每次坐下时,遍历set找到最大的距离,并且记录位置,离开则直接删除目标数字。 注意一些边界情况和下标即可,最容易遗漏的就是最左边和最右边的位置。 时间复杂度 seat O(n),leave O(logn) 方法二:Set (BST) + Un 阅读全文
posted @ 2018-11-20 13:12 約束の空 阅读(272) 评论(0) 推荐(0)
摘要: 方法一:DFS+Memoization dfs做最直接,但是会超时。 DFS+Memoization 实际就是把所有return的地方就保存到memo再return,时间复杂度O(n^2) 方法二:DP 我最开始想的时候,dp[i][j] 表示用j跳到i,可不可行。dp[0][0]=true, if 阅读全文
posted @ 2018-11-16 11:15 約束の空 阅读(223) 评论(0) 推荐(0)
摘要: 题不难,但是考虑的时候要全面,很可能漏掉一些条件。 首先要判断棋子个数是否合法。由于X先动,所以X的个数要么比O多一个(O还没下),要么和O相等(O下好了)。 一开始我做的时候,只想到win的只可能一个,就用了一个count_win,判断是不是1。但是这样做是不对的,因为赢了以后,游戏是立即结束的, 阅读全文
posted @ 2018-11-14 09:45 約束の空 阅读(371) 评论(0) 推荐(0)
摘要: Graph+BFS/DFS 这道题最好想到的就是建立一个graph,两个节点的ratio就当做图的边保存下来。 query的时候,只要从一个节点开始,dfs或者bfs,把一路的ratio都乘起来即可。 用BFS来做: Union Find 用图来做,既需要大量空间,而且dfs和bfs的效率都不是很高 阅读全文
posted @ 2018-11-13 03:28 約束の空 阅读(592) 评论(0) 推荐(0)
摘要: Read N Characters Given Read4 这个题目和C里面读文件很像。 read4每次只能读四个字符,把字符放到buf里,返回值是实际读到的字符数。 而我们要做的是用read4实现一个能够读n个字符的函数 read,同样,读到的字符放到buf里。 if (count==0) bre 阅读全文
posted @ 2018-11-12 12:57 約束の空 阅读(372) 评论(0) 推荐(0)
摘要: DFS 最一开始想到的就是dfs,从题目给的点开始dfs搜索。 时间复杂度为O(mn) Binary Search 这道题给了一个坐标(x,y),其实是有用意的。如果只是单纯的搜索,我们完全可以搜索整个图。 这道题其实可以用二分来做。由于给定的点是黑的,我们可以从水平和竖直两个方向,分别找到由黑变白 阅读全文
posted @ 2018-11-12 09:19 約束の空 阅读(310) 评论(0) 推荐(0)
摘要: 暴力模拟会超时。因此必须一行行直接放,不能一个个word放。 这种方法很巧妙,把word整合成一个string,单词间用空格分隔,最后也加一个空格。 用一个变量记录当前已经在screen上放了多少个字符,记为count。因此 count%n 下一个要放的字符。 对于每一行,先假设cols个字符都能放 阅读全文
posted @ 2018-11-12 05:46 約束の空 阅读(338) 评论(0) 推荐(0)
摘要: Subsets Subsets II 先排序,方便跳过重复元素。同一层递归中相同元素跳过。 Subsets 时间复杂度 T(n) = T(n-1)+T(n-2)+...+T(1)+T(0) -> T(n) = O(2^n) 如果考虑 res.push_back(cur) 是时间 O(n),那么总的时 阅读全文
posted @ 2018-11-11 23:06 約束の空 阅读(262) 评论(0) 推荐(0)
摘要: deep copy graph,图的问题。要copy首先要遍历,遍历图可以用dfs也可以bfs。 本题的关键在于,由于节点和节点之间连通,当前遍历的节点很可能之前就已经clone过了,此时就不需要再一次clone了,否则会出现问题。 因此,我们可以建立原节点与clone节点的映射,用一个unorde 阅读全文
posted @ 2018-11-11 10:18 約束の空 阅读(129) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页