基础算法
Mereder
这个作者很懒,什么都没留下…
展开
-
快速排序的总结和优化
快排的基本框架就是下边这样。更鲁棒一点的话,还需要考虑传入的array是否是非法参数。此处优化:应当将数组,打乱顺序,如果数组基本有序,快排的时间复杂度将退化到O(n2)O(n^2 )O(n2)应该在传入sort之前就将数组 shuffle。public static void sort(int[] array,int lo ,int hi){ if (array == null |...原创 2019-05-19 21:14:01 · 147 阅读 · 0 评论 -
Leetcode 1 TwoSum -Java刷题
Java hashmap的用法 类似于Python 里面的 dict 字典先将 数组 进行 hashmap hash过程是O(N)的再从 hashmap中寻找 目标值和另一个加数的差值如果找到 且 index != i 则说明存在 TwoSum算法复杂度 为O(n)three sum 的问题 也是 类似这样求解,先对一个加数使用Hash然后循环遍历另外两个加数 复杂度 降低到...原创 2019-04-03 21:39:00 · 141 阅读 · 0 评论 -
动态规划总结——通过例题疏通你
动态规划多阶段决策的过程:每一步求解的问题是后面阶段求解问题的子问题,每一步决策都将依赖于以前决策的结果优化函数值之间存在依赖关系优化函数的特点:任何最短路的子路径相对于子问题始、终点最短一定要存在依赖关系!一定要满足优化原则或最优子结构性质设计要素多阶段决策过程,每步处理一个子问题,界定子问题的边界列出优化函数的递推方程以及初值问题满足优化原则或最优子结构性质。一个最优决策序列...原创 2019-05-11 20:08:04 · 459 阅读 · 0 评论