ningendo

2020年11月29日 #

回溯法6,不走寻常路,用回溯法来解4Sum问题

摘要: 一.介绍 回溯法不是这个题的标准答案和最优解法,主要是理解回溯法的思路 问题描述 输入 (这里的A,B,C,D可以是任意长度的数组) A = [ 1, 2] B = [-2,-1] C = [-1, 2] D = [ 0, 2]求使 A[i] + B[j] + C[k] + D[l] = 0 的解的 阅读全文

posted @ 2020-11-29 17:28 Lunamonna 阅读(85) 评论(0) 推荐(0) 编辑

2020年11月27日 #

一个简单的二叉树例子来理解递归

摘要: 一.描述 一个简单的二叉树的例子,比如求二叉树的所有节点的和 比如下面这棵树,所有节点的和为 1+2+3=6 二.递归法来求解 通过树的结构可以得到解法,即总和为当前节点的和加上左节点的和加上右节点的和 即 Sum = cur.val + cur.left.val + cur.right.val 根 阅读全文

posted @ 2020-11-27 21:04 Lunamonna 阅读(262) 评论(0) 推荐(0) 编辑

2020年11月22日 #

策略模式之Spring 解析xml配置文件分析

摘要: 一.介紹 策略模式的作用,主要是把一段业务抽象出一个接口,为上层服务调用。派生出不同的类来实现不同的算法和逻辑。然后就可以根据参数的传入和配置文件,来切换不同的策略功能。 好处,拓展性强,新加一个功能,添加一个类即可,且不同类之间,关联小,耦合度松,符合开闭原则。 缺点,功能和多时,需要的类也十分多 阅读全文

posted @ 2020-11-22 22:49 Lunamonna 阅读(183) 评论(0) 推荐(0) 编辑

2020年11月9日 #

回溯法5,在二叉树中的应用,递归的栈特性

摘要: 一.题源 https://leetcode-cn.com/problems/path-sum-ii/ 二.递归的栈特性 先看下面的一个链表的例子 public class LinkListTest2 { public static void main(String[] args) { ListNod 阅读全文

posted @ 2020-11-09 01:59 Lunamonna 阅读(83) 评论(0) 推荐(0) 编辑

2020年10月30日 #

从StringBuilder来看Builder模式

摘要: 一.角色 二.作用 1.将字符做了缓存,避免了重复的new String对象,造成内存的开销。 2.封装了字符的拼接,和移除方法,不需要关心内部字符串的操作,起到了解耦效果。 三.String代码分析 像常用的substring,replace,concat等方法,均会创建新的对象。 以下来自 op 阅读全文

posted @ 2020-10-30 01:51 Lunamonna 阅读(116) 评论(0) 推荐(0) 编辑

2020年10月26日 #

回溯法4,排列问题,带条件

摘要: 一.题源 https://www.lintcode.com/problem/permutations-ii/description https://leetcode-cn.com/problems/permutations-ii/ 二.代码分析 1 public class Solution { 2 阅读全文

posted @ 2020-10-26 23:33 Lunamonna 阅读(54) 评论(0) 推荐(0) 编辑

2020年10月20日 #

回溯法3,排列

摘要: 一.题源 https://www.lintcode.com/problem/permutations/description https://leetcode-cn.com/problems/permutations/ 二.代码 1 public class Solution { 2 public 阅读全文

posted @ 2020-10-20 18:28 Lunamonna 阅读(57) 评论(0) 推荐(0) 编辑

2020年10月18日 #

回溯法2,组合,条件,选择性

摘要: 一.题源 https://www.lintcode.com/problem/subsets-ii/description https://leetcode-cn.com/problems/subsets-ii/ 不同于子集I,这次有一点小变化,就是在算法中加入了条件判断,即去除重复元素。将不满足的条 阅读全文

posted @ 2020-10-18 18:06 Lunamonna 阅读(55) 评论(0) 推荐(0) 编辑

2020年10月14日 #

回溯法,子集,组合问题

摘要: 一.题源 https://www.lintcode.com/problem/subsets/description https://leetcode-cn.com/problems/subsets/ 二.代码 public class Solution { public static void ma 阅读全文

posted @ 2020-10-14 16:50 Lunamonna 阅读(49) 评论(0) 推荐(0) 编辑

2020年10月1日 #

组合模式1(netty CompositeByteBuf)

摘要: 一.组合模式作用以及场景 1.当对象之间具有部分和整体结构时,比如目录与子目录,总类和子类,父节点和子节点。 2.当子对象操作可以统一处理时 二.复合缓冲区 Composite Buffer Composite Buffer是Netty特有的缓冲区。本质上类似于提供一个或多个ByteBuf的组合视图 阅读全文

posted @ 2020-10-01 19:15 Lunamonna 阅读(397) 评论(0) 推荐(0) 编辑

导航