题目 思路 递归 最近公共祖先x满足:x的左右子树分别包含p节点或q节点,或者x恰好是p节点或q节点且它的左子树或右子树有一个包含了另一个节点 存储父节点 遍历二叉树使用哈希...
题目 思路 递归 最近公共祖先x满足:x的左右子树分别包含p节点或q节点,或者x恰好是p节点或q节点且它的左子树或右子树有一个包含了另一个节点 存储父节点 遍历二叉树使用哈希...
题目 思路 回溯 n个数共有种添加符号的方法,使用回溯遍历所有的表达式,回溯过程中维护一个计数器count,记录遇到结果为target的次数。 动态规划 原问题等同于:找到n...
题目 思路 哈希表 我们考虑枚举数组中的每个数x,考虑以其为起点,不断尝试匹配x + 1, x + 2, ...是否存在,假设最长匹配到了x + y,那么以x为起点的最长连续...
题目 思路 时间复杂度是O(nlogn)的排序算法包括归并排序、堆排序和快速排序(快速排序的最差时间复杂度是O()),其中最适合链表的排序算法是归并排序。归并排序基于分治算法...
参考网站:设计模式[http://c.biancheng.net/view/1338.html] 创建型模式 单例模式原型模式工厂方法模式抽象工厂方法模式建造者模式 单例模式...
题目 思路 暴力排序 排序最优是O(nlogn),不满足要求 最小堆 借助哈希表来建立数字和其出现次数的映射,遍历一遍数组统计元素的频率 维护一个元素数目为k的最小堆 每次都...
题目 思路 - 动态规划 只有一间房间,偷窃该房屋 只有两间房间,偷窃其中金额较高的房屋 大于两间,对于第k间房屋,有两个选项:偷窃第k间房屋,那么就不能偷窃第k - 1间房...
题目 思路 暴力 两重循环 递减栈 遍历整个数组,如果栈不空,且当前数字大于栈顶元素,那么如果直接入栈的话就不是递减栈,所以需要取出栈顶元素,由于当前数字大于栈顶的数字,而且...
题目 思路 回溯 - 自上而下 第一眼想的是贪心,但需要准确凑出amount,所以贪心不可能或许也是可能的?类似于排列组合的回溯,每次选择可以选择的集合中的最大的,不行就回溯...
题目 思路 暴力:三重循环,超时了 去除重复计算:考虑以i结尾和为k的连续子数组个数,即符合条件的下标j的个数,其中0ji且[j...i]这个子数组的和恰好为k。同时,如果我...
题目 思路 暴力:两次循环 快排:O(nlgn) 哈希表:O(n)、O(n) 异或: 异或的性质:交换律:可以任意交换运算因子,结果不变结合律 (a^ b)^ c = a^ ...
1. mybatisplus和mysql的区别 【todo头一个是啥。。】 2. Innodb索引,说原理,如何创建索引 【todo放link】见其他文章 3. ACID特性...
1. 百万级数据的表项怎么设计数据结构 【todo】 2. 数据结构中解决hash冲突的方法 【todo】 3. 什么是闭包 【todo】 4. 大文件排序 【todo】 5...
1. 测试分类 【todo】 2. 回归测试 【todo】 3. 测试用例的设计方法 见其他文章 4. 测试发现了bug,但如果开发人员认为不是bug怎么办?如果在版本发布前...
1. final相关,抽象类可以用final修饰吗 使用 final 关键字声明类、变量和方法需要注意以下几点: final 用在变量的前面表示变量的值不可以改变,此时该变量...
1. 进程和线程的区别 概念进程:对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;线程:进程的子任务,是CPU调度和分派的基本单位,实现进程内...
1. http是7层协议哪层 应用层 2. tcp、udp区别及使用场景 TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。 TCP...
题目 方法一:哈希表 遍历所有节点,使用哈希表来存储所有已经访问过的节点。如果到达了一个已经访问过的节点,则说明是环形链表。 方法二:快慢指针 慢指针每次只移动一步,而快指针...
题目 思路 用一个变量记录一个历史最低价格minprice,在第i天卖出股票能得到的利润是price[i] - minprice 实现