![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 147 阅读 · 0 评论 -
算法整理5-二叉树
什么是二叉树每个节点最多具有两个叉二叉树代码注释void traverse(TreeNode root){ //前序遍历位置写的代码 traverse(root.left); //中序遍历时写的代码 traverse(root.right); //后序遍历时写的代码}二叉树的构建1.相信你的函数2.考虑根节点进行的操作,并运用到左右节点中二叉树的应用LeetCode:226. 翻转二叉树114.二叉树展开为链表116. 填充每个节点的下一个右侧节点指针..原创 2022-03-27 23:11:36 · 406 阅读 · 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 · 362 阅读 · 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 · 142 阅读 · 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 · 97 阅读 · 0 评论