LeetCode
folinggg
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法整理6-深度优先搜索
什么是深度优先搜索? 优先向子树进行搜索 深度优先搜索解决 子集/组合 排列 三类假设条件,每类中包含对应子集/组合 排列两种类型 元素无重复:nums={1,2,3} 元素可重复:nums={1,1,2} 不可复选:nums[0]、nums[1]、nums[2] 只能选一次 可复选:nums[0]、nums[1]、nums[2] 可多选 核心代码框架 // 回溯算法核心函数,遍历子集问题的回溯树 void backtrack(int[] nums, int start) { // 前序位置,.原创 2022-04-23 11:17:56 · 263 阅读 · 0 评论 -
算法整理5-二叉树
什么是二叉树 每个节点最多具有两个叉 二叉树代码注释 void traverse(TreeNode root){ //前序遍历位置写的代码 traverse(root.left); //中序遍历时写的代码 traverse(root.right); //后序遍历时写的代码 } 二叉树的构建 1.相信你的函数 2.考虑根节点进行的操作,并运用到左右节点中 二叉树的应用 LeetCode: 226. 翻转二叉树 114.二叉树展开为链表 116. 填充每个节点的下一个右侧节点指针 ..原创 2022-03-27 23:11:36 · 531 阅读 · 0 评论 -
贪心算法:区间调度-射气球问题
贪心算法:区间调度问题 母问题描述: 在一个会场中,安排活动,给定所有活动的开始时间与结束时间的集合放在数组nums[n][2]中。求问最多能安排几场活动,使每场活动之间的时间不冲突。 public static int intervalSchedule(int[][] intvs){ if (intvs.length==0) return 0; Arrays.sort(intvs, new Comparator<int[]>() {原创 2021-03-28 10:37:23 · 519 阅读 · 0 评论 -
动态规划:完全背包问题
动态规划:完全背包问题 思路:转换成如下: 有一个背包,最大容量为amount,有一系列物品coins,每个物品重量为coins[i],每个物品的重量无限,有多少种方法,能够把背包恰好装满 状态: 1.背包的容量 2.可选择的物品 选择: 装进背包/不装进背包 dp数组定义:若只使用前i个物品,当背包容量为j时,有dp[i][j]种方法可以装满背包。 public static int change(int amount,int[] coins){ int n = coins.le原创 2021-03-27 20:55:56 · 264 阅读 · 0 评论 -
LeetCode_59螺旋矩阵II
题目: 思路: 按数字递增方向逐圈进行赋值 每圈分为四个方向: 从左到右;从上到下;从右到左;从下到上 “每圈” 首个元素位置递增。 可设一个start作为标记。通过每次start++改变位置。 设count,每次++进行赋值,while(count<=n*n)来判断是否结束循环。 对每圈: 左→右 j=start; j<n-start; j++ 其中 j<n-start 理解: 源码: public class lc_59 { public static int[][] g原创 2021-02-18 10:14:09 · 186 阅读 · 0 评论
分享