摘要: 主要讲第五课的内容前缀树应用和第六课内容暴力递归改动态规划的最全步骤 第一题 给定一个数组,求子数组的最大异或和。 一个数组的异或和为,数组中所有的数异或起来的结果。 简单的前缀树应用 暴力方法: 先计算必须以i结尾的子数组的异或和,然后再计算机i+1的,以此类推... 最暴力的解 怎么优化? 异或 阅读全文
posted @ 2019-03-15 10:09 kent鹏 阅读(1158) 评论(0) 推荐(0) 编辑
摘要: 接着第四课的内容,主要讲LFU、表达式计算和跳表 第一题 上一题实现了LRU缓存算法,LFU也是一个著名的缓存算法 自行了解之后实现LFU中的set 和 get 要求:两个方法的时间复杂度都为O(1) LFU根据get、set操作次数决定的优先级。 同样次数,最不经常访问的先出去。 实现思路:建立一 阅读全文
posted @ 2019-03-07 11:15 kent鹏 阅读(1100) 评论(0) 推荐(0) 编辑
摘要: 接着第四课的内容,加入部分第五课的内容,主要介绍树形dp和LRU 第一题: 给定一棵二叉树的头节点head,请返回最大搜索二叉子树的大小 二叉树的套路 统一处理逻辑:假设以每个节点为头的这棵树,他的最大搜索二叉子树是什么。答案一定在其中 第一步,列出可能性(最难部分) 1、可能来自左子树上的某课子树 阅读全文
posted @ 2019-03-05 17:59 kent鹏 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 接着第三课的内容和讲了第四课的部分内容 1、介绍二叉搜索树 在二叉树上,何为一个节点的后继节点? 何为搜索二叉树? 如何实现搜索二叉树的查找?插入?删除? 二叉树的概念上衍生出的。 任何一个节点,左比他小,右比他大。标准搜索二叉树是没有重复值的。 TreeMap就是搜索二叉树,key是有序组织起来的 阅读全文
posted @ 2019-02-26 10:39 kent鹏 阅读(2285) 评论(1) 推荐(0) 编辑
摘要: 接着第二课的内容和带点第三课的内容。 (回顾)准备一个栈,从大到小排列,具体参考上一课.... 构造数组的MaxTree 【题目】 定义二叉树如下: public class Node{ public int value; public Node left; public Node right; p 阅读全文
posted @ 2019-02-21 11:59 kent鹏 阅读(943) 评论(0) 推荐(0) 编辑
摘要: 第二课主要介绍第一课余下的BFPRT算法和第二课部分内容 1、BFPRT算法详解与应用 找到第K小或者第K大的数。 普通做法:先通过堆排序然后取,是n*logn的代价。 基于荷兰国旗问题,可以实现o(N)的代价。 每次都分小于等于大于区域,再判断是拿大于区域还是小于区域继续划分,等于的话就直接出答案 阅读全文
posted @ 2019-02-14 11:21 kent鹏 阅读(932) 评论(0) 推荐(0) 编辑
摘要: 1、KMP算法详解与应用 子序列:可以连续可以不连续。 子数组/串:要连续 暴力方法:逐个位置比对。 KMP:让前面的,指导后面。 概念建设: d的最长前缀与最长后缀的匹配长度为3。(前缀不能到最后一个,后缀也不能到第一个) 先计算出str2的全部匹配信息。 一路相等,直到X与Y不匹配,根据X位置的 阅读全文
posted @ 2019-02-11 11:48 kent鹏 阅读(972) 评论(1) 推荐(0) 编辑
摘要: 第八课主要介绍递归和动态规划 第八课主要介绍递归和动态规划 介绍递归和动态规划 暴力递归: 1,把问题转化为规模缩小了的同类问题的子问题 2,有明确的不需要继续进行递归的条件(base case) 3,有当得到了子问题的结果之后的决策过程 4,不记录每一个子问题的解 动态规划 1,从暴力递归中来 2 阅读全文
posted @ 2019-02-06 23:49 kent鹏 阅读(1103) 评论(0) 推荐(0) 编辑
摘要: 第六课主要介绍图,不经常考,故今天先讲第七课的内容,介绍比较常考的树和贪心算法 第六课主要介绍图,不经常考,故今天先讲第七课的内容,介绍比较常考的树和贪心算法 介绍前缀树 何为前缀树? 如何生成前缀树? 可以查有多少个字符串以“be”为前缀。 如果要判断有没有“be”这个节点,每个节点上加上一个数据 阅读全文
posted @ 2019-02-03 10:58 kent鹏 阅读(930) 评论(0) 推荐(0) 编辑
摘要: 今天主要讨论:哈希函数、哈希表、布隆过滤器、一致性哈希、并查集的介绍和应用。 今天主要讨论:哈希函数、哈希表、布隆过滤器、一致性哈希、并查集的介绍和应用。 题目一 题目一 认识哈希函数和哈希表 1、输入无限大 2、输出有限的S集合 3、输入什么就输出什么 4、会发生哈希碰撞 5、会均匀分布,哈希函数 阅读全文
posted @ 2019-01-28 11:36 kent鹏 阅读(1234) 评论(0) 推荐(0) 编辑