11 2022 档案
摘要:MyBatis详解的第一部分,主要是记录了MyBatis与JDBC的比对,和对配置文件的解析过程
阅读全文
摘要:题目: 【1】第一种 【2】第二种 思路: 【1】第一种,考察的是位运算,因为限制了不能使用数组的存储空间,也限制对双循环的使用。但是基于异或的特性,相同的数值相异得到0,所以是可以得到一个唯一的数值的,但是这里面是两个,所以就需要考察如何将这两个进行分割开来。 【2】第二种,这种较第一种限制不多,
阅读全文
摘要:题目: 思路: 【1】如图: 复杂度分析: 代码展示: //剑指 Offer 60. n个骰子的点数 public class Offer { public static void main(String[] args) { System.out.println(Arrays.toString(Me
阅读全文
摘要:题目: 思路: 【1】利用模拟栈的压入与弹出来完成。 代码展示: //剑指 Offer 31. 栈的压入、弹出序列 public class Offer { public static void main(String[] args) { int[] pushed = new int[]{1,2,3
阅读全文
摘要:题目: 【1】第一种 【2】第二种 思路: 【1】第一种,说白了就是正常的二叉树的层次遍历,顺序为从上到下,从左到右,这种一般是借助于队列或者其他数据结构完成。 【2】第二种,算是第一种的变种,在层次遍历的基础上加上返回的数据层次,而且还要对偶数层进行数据的反转。 【3】其次吧,这个题应该可以归到简
阅读全文
摘要:题目: 思路: 【1】思路一:毫无头绪之下,其实暴力破解,采用双循环也是不错的,毕竟做出来总比没做出来的要好。 【2】思路二:一看到有序,其实可以考虑二分查找,基于暴力破解的基础上,对每一行的遍历采用二分查找来进行优化减少遍历次数。【但是其实还是不够优化】 【3】思路三:其实有考虑过对角线,进行二分
阅读全文
摘要:题目: 思路: 【0】核心思路:本质上就是求一个差的最大值,所以用一个数值存储结果,一个数值存储已经遍历的的价格的最小值,然后基本就可以得出结果。 【1】思路一:暴力破解,利用两次循环,计算所有数值的差值,取出最大值【但是这种耗时,而且计算次数多】 【2】思路二:贪心算法,又可以说是双指针,因为本质
阅读全文
摘要:题目: 思路: 【1】首先明确限制: 1.是从【0,0】开始移动 2.只能上下左右移动【但不能超出边界】 3.不能踏入坐标的位数之后比K大的位置 【2】思路一:考虑广度搜索,通过用队列存储下一个可达的地址,然后再队列中拿出那些地址的下一个可达地址。其中只要用数组表示那些地址已经走过了即可【保证不重复
阅读全文
摘要:题目: 思路: 【1】对于树的判断其实没有什么比较好的方式,一般都是遍历,判断是不是子树,那么就是比较内容相不相等。将主树拿出来进行遍历,同时又可以拆分为左右两个子树,形成的子树又可以作为新的主树与比较的树再次进行比较,本身就是利用了 深度优先搜索 的概念。 代码展示: //树的子结构 public
阅读全文
摘要:题目: 【1】第一种【这种算是比较常规的,主要考察的是切分的思维】 【2】第二种【这是第一种的变种,考察的是对数据类型范围的处理,因为int的范围不足以容纳下结果】 思路: 【1】思路一:贪心算法,贪心算法是要经过数学推到得出最优值,如在计算乘积最大的时候,会发现优先长度是3的,乘积是最大的,所以就
阅读全文
摘要:题目: 思路: 【1】思路一:这种一般可以转换为函数替代的方式,如1+2+3+..+n,在数学上可以使用(1+n)*n/2,也就是平均数乘以个数得到最终结果。 【2】思路二:便是采用常规的循环和递归方式按照寻常的逻辑进行累加,其中需要判断的地方采用其他方式替换。 代码展示: public class
阅读全文