摘要:https://www.cnblogs.com/deng-tao/p/6536302.html
阅读全文
摘要:leetcode官方解析(必看) https://leetcode-cn.com/problems/implement-trie-prefix-tree/solution/shi-xian-trie-qian-zhui-shu-by-leetcode/ Trie用处 Trie (发音为 "try")
阅读全文
摘要:总结 1.画图,画图,画图。直观观察规律 2.排序,排序,排序。按照起点/终点排序,或者混合排序。 int[][] points = new int[][]{{1,2},{1,4},{10,18},{7,11},{3,6}}; // 按照起点升序排列;起点相同时,终点按照降序排列 Arrays.so
阅读全文
摘要:贪心 vs 动态规划 联系 都是一种推导算法 都是分解成子问题来求解,都需要具有最优子结构 区别 如果把所有的子问题看成一棵树的话: 贪心:贪心从根出发,每次向下寻找(原文:遍历)最优子树即可。通常这个“最优”都是基于当前情况下显而易见的“最优”,仅需看本节点的情况,不需要知道该节点的所有子树情况,
阅读全文
摘要:总结 模板 int left = 0, right = 0; while (right < s.size()) { // 增大窗口 window.add(s[right]); right++; while (window needs shrink) { // 缩小窗口 window.remove(s
阅读全文
摘要:1. 总结 binary_search:普通的二分搜索,就是搜索target本身的值 left_bound:搜索比target小的数字的个数。有序数组nums = [2,3,5,7],target = 1,算法会返回 0,含义是:nums中小于 1 的元素有 0 个;nums = [2,3,5,7]
阅读全文
摘要:统一格式的非递归方法:https://zhuanlan.zhihu.com/p/81466547 但是貌似会超时 普通的非递归方法:https://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html
阅读全文
摘要:什么是回溯算法 对于回溯算法的定义,百度百科上是这样描述的:回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标
阅读全文
摘要:总结 拓扑排序主要用来解决有向图中的依赖解析(dependency resolution)问题。 本质:从入度为0的地点,开启BFS 举例来说,如果我们将一系列需要运行的任务构成一个有向图,图中的有向边则代表某一任务必须在另一个任务之前完成这一限制。那么运用拓扑排序,我们就能得到满足执行顺序限制条件
阅读全文
摘要:总结 class UF { /* 将 p 和 q 连接 */ public void union(int p, int q); /* 判断 p 和 q 是否连通 */ public boolean connected(int p, int q); /* 返回图中有多少个连通分量 */ public
阅读全文
摘要:“动态规划”的出现形式 动态规划问题的一般形式就是求最值。动态规划其实是运筹学的一种最优化方法,只不过在计算机问题上应用比较多,比如说让你求最长递增子序列呀,最小编辑距离呀等等。 既然是要求最值,核心问题是什么呢?求解动态规划的核心问题是穷举。因为要求最值,肯定要把所有可行的答案穷举出来,然后在其中
阅读全文
摘要:1.算法解析 ref: https://blog.csdn.net/adusts/article/details/80882649 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会
阅读全文
摘要:总结 算法分类 十种常见排序算法可以分为两大类: 比较类排序:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序 都属于比较排序。在排序的最终结果里,元素之间的次序依赖于它们之间的比较。每个数都必须和其他数进行比较,才能确定自己的位置。 优势:适用于各种规模的数据,也不在乎数据的分布
阅读全文
摘要:Boyer-Moore majority vote algorithm (摩尔投票算法) 典型案例: (1) 找出大于n/2的元素,leetcode: https://leetcode.com/problems/majority-element/ (2) 找出大于n/3的元素, letcode: h
阅读全文