![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
编程鸭
这个作者很懒,什么都没留下…
展开
-
算法进阶面试题07——求子数组的最大异或和(前缀树)、换钱的方法数(递归改dp最全套路解说)、纸牌博弈、机器人行走问题
第一题 给定一个数组,求子数组的最大异或和。 一个数组的异或和为,数组中所有的数异或起来的结果。 简单的前缀树应用 暴力方法: 先计算必须以i结尾的子数组的异或和,然后再计算机i+1的,以此类推... 最暴力的解 public static int getMaxEor1(int[] nums) { int maxEor = ...原创 2019-05-29 14:20:13 · 360 阅读 · 0 评论 -
算法进阶面试题06——实现LFU缓存算法、计算带括号的公式、介绍和实现跳表结构
第一题 上一题实现了LRU缓存算法,LFU也是一个著名的缓存算法 自行了解之后实现LFU中的set 和 get 要求:两个方法的时间复杂度都为O(1) LFU根据get、set操作次数决定的优先级。 同样次数,最不经常访问的先出去。 实现思路:建立一个次数链,每个次数再链接上一个双向链。(两个双链表) Put和Get的时候,先检查是否存在 如果没有,p...原创 2019-05-29 14:25:31 · 910 阅读 · 1 评论 -
算法进阶面试题05——树形dp解决步骤、返回最大搜索二叉子树的大小、二叉树最远两节点的距离、晚会最大活跃度、手撕缓存结构LRU
第一题: 给定一棵二叉树的头节点head,请返回最大搜索二叉子树的大小 二叉树的套路 统一处理逻辑:假设以每个节点为头的这棵树,他的最大搜索二叉子树是什么。答案一定在其中 第一步,列出可能性(最难部分) 1、可能来自左子树上的某课子树 2、可能来自右子树上的某课子树 3、整颗都是(左右子树都是搜索二叉树并且左子树最大小于该节点,右子树最小大于该节点) ...原创 2019-05-29 14:26:56 · 284 阅读 · 0 评论