算法打卡
yzxmf111
这个作者很懒,什么都没留下…
展开
-
LeetCode打卡1.27--回溯算法之组合
/** * 回溯算法是对所有结果集的遍历, 其中包含最优解和非最优解, 是深度优先算法+path对结果的存储 * 需要特别注意的是回溯算法往往有回头的过程(为了path的复用). * <p> * 回溯算法最好结合自己画出的递归树进行解答, 根据递归树的不同, 代码也不同 * 回溯算法每层处理的逻辑相同(递归),区别在于递归的起点不同 */public class Combine { public static void main(String[] args) {原创 2021-01-27 18:43:20 · 149 阅读 · 0 评论 -
LeetCode打卡1.27--三数之和
/** * @description: 双指针 + 去重 * @author: Tian * @time: 2021/1/27 16:37 */public class ThreeSum_two { public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> list = new ArrayList<>(); if (原创 2021-01-27 17:06:29 · 126 阅读 · 0 评论 -
LeetCode打卡1.26---归并排序
归并排序是典型的的分治思想的体现,关键在与递归的分和递归的和.最好结合动态视图学习.public class MergeSort { public static void main(String[] args) { int[] arr = {1, 3, 6, 4, 2, 66, 23}; //递归算法 肯定是要有左右边界的 MergeSort ms = new MergeSort(); int[] temp = new int[arr原创 2021-01-26 22:50:22 · 115 阅读 · 0 评论 -
LeetCode打卡1.26---102.二叉树的层序遍历
二叉树的层序遍历是BFS算法,需要注意的点已经在代码中标出.public class LevelOrder { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> list = new ArrayList<>(); if (root == null) { return list;原创 2021-01-26 21:15:31 · 65 阅读 · 0 评论