摘要: 一般框架: 二叉搜索树框架 二叉树设计总路线: 1. 二叉树算法设计的总路线:把当前节点要做的事做好,其他的交给递归框架,不用当前节点操心。 2. 如果当前节点会对下面的子节点有整体影响,可以通过辅助函数增长参数列表,借助参数传递信息。 例题1:判断是否是一个BST,有些时候直接写不出来需要使用辅助 阅读全文
posted @ 2020-04-21 22:53 程序员小宇 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 素数定义: 该数只能被1和它本身整除(1不是素数) 解法不断优化版: 定义一个函数判断是否是素数 判断函数的优化,循环只需要从[2,sqrt(n))即可。 使用排除法的思想,2是素数 2的整数倍(2倍以上)不是素数;3是素数,3的整数倍不是素数 等等 再上述方法再加上循环的优化,循环只需要从[2,s 阅读全文
posted @ 2020-04-21 22:26 程序员小宇 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 什么是LRU算法 LRU是Least Recently Used的缩写,即最近最少使用,常用于页面置换算法,为虚拟页式存储管理服务。LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频繁的页面很可能在后面的几条指令中频繁使用。反过来说,已经很久没有使用的页面很可能在未来较长的一段时间内不会被 阅读全文
posted @ 2020-04-21 22:16 程序员小宇 阅读(3487) 评论(0) 推荐(2) 编辑
摘要: 题解1:基于上一题的递归,给递归函数再加一个变量,代表从左往右还是从右往左 题解3:双端队列 法2优缺点: 链接:https://leetcode cn.com/problems/cong shang dao xia da yin er cha shu iii lcof/solution/mian 阅读全文
posted @ 2020-04-21 10:12 程序员小宇 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题解1: 阅读全文
posted @ 2020-04-21 09:59 程序员小宇 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题解1: 题解2: 阅读全文
posted @ 2020-04-21 09:37 程序员小宇 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 解题思路: 1. 使用一个栈,开始为空 2. 持续压入pushed数组元素到栈中,直到栈顶元素和popped首元素相同,开始弹出,若弹出后还是匹配,继续弹出 3. 最后判断栈是否为空,空则true,否则false 阅读全文
posted @ 2020-04-20 15:55 程序员小宇 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 解法1:维护一个辅助栈,让辅助栈的栈顶始终是最小值 解法2:如果当前压入的值比当前最小值,则压入一个当前最小值,再压入当前的值! 阅读全文
posted @ 2020-04-20 15:45 程序员小宇 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 解题思路: res[x++] 等价于先给 res[x] 赋值,再给 x 自增 1 ; ++t b 等价于先给 t 自增 1 ,再判断 t b 逻辑表达式。 阅读全文
posted @ 2020-04-19 17:38 程序员小宇 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 双指针: 递归: 阅读全文
posted @ 2020-04-17 10:22 程序员小宇 阅读(85) 评论(0) 推荐(0) 编辑