摘要: 方法一:使用快排: 方法二:使用并查集如题所说达到O(n) 方法三:使用哈希表O(n) 别人家的哈希表: 别人家的使用hashset 和 hashtable: hashset: hashtable: 哈希set 有道词典 solution 1: has ... 详细X 解决方案1:哈希表(关键,le 阅读全文
posted @ 2019-05-16 17:24 Joel_Wang 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 方法一:染色法 类似于岛屿的个数也可以用染色法:通过深度优先搜索来做 使用一个数组来表示当前朋友a是否已经包含到已经遍历的朋友圈中,遍历所有的朋友,如果当前朋友没有在已经访问的朋友圈中,即visited==false,那么cnt++;并将该朋友所有相关的朋友使用dfs全部标记为visited=tru 阅读全文
posted @ 2019-05-16 16:48 Joel_Wang 阅读(934) 评论(0) 推荐(0) 编辑
摘要: 主要考察图搜索: 方法一:染色法,时间O(mn) 遍历一遍,再通过BFS或DFS将所有临近岛屿染色,使用dfs时将numIslands中的bfs换成dfs即可; 第二种:并查集的方法, 阅读全文
posted @ 2019-05-16 15:33 Joel_Wang 阅读(459) 评论(0) 推荐(0) 编辑
摘要: /***** 定义状态: DP[i][j]其中i表示word1前i个字符,j表示Word2前i个字符 DP[i][j]表示单词1前i个字符匹配单词2前j个字符,最少变换次数; 状态转移: for i:[0,m] for j:[0,n] if(word1[i-1]==word2[j-1]) DP[i] 阅读全文
posted @ 2019-05-16 14:57 Joel_Wang 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 动态规划:O(n*amount)时间复杂度,O(amount)空间复杂度,可以类比为coins[j] step上楼梯,最终为上到amont 阅读全文
posted @ 2019-05-16 11:35 Joel_Wang 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 动态规划new version: 动态规划:O(n^2) 80ms 二分查找:O(nlog(n))8ms 一个例子为:因为LIS是一个递增序列,因此可以用二分查找来得到结果 阅读全文
posted @ 2019-05-16 10:56 Joel_Wang 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 转载自 https://www.cnblogs.com/Tang-tangt/p/9291018.html 二分查找的函数有 3 个: 参考:C++ lower_bound 和upper_bound lower_bound(起始地址,结束地址,要查找的数值) 返回的是数值 第一个 出现的位置。 up 阅读全文
posted @ 2019-05-16 10:35 Joel_Wang 阅读(1313) 评论(0) 推荐(0) 编辑