10.8-10.15并查集-最短路径算法小记:Date:10\11 ,FRI , 重阳节。 晚上喝蛋白粉三勺喝不耐受了(头一次喝到腹泻呕吐的,呕吐那一下胃绞的是真疼),加上晚上也吃多了,再不敢这么喝了。又是发烧又是脱水md,下次记得常备海之盐及时补盐!主食记得吃小米粥、香蕉! 10.8并查集理论基础 并查集常用来解决连通性问题。 大白话就是当我们需要判断两个元素是否在同一个集合里的时候,我们就要想到用并查集。 并查集主要有两个功能 2024-10-08 代码随想录 #LEECODE
9.24-9.27 深搜广搜9/24深搜框架:123456789101112void dfs(参数) { if (终止条件) { 存放结果; return; } for (选择:本节点所连接的其他节点) { 处理节点; dfs(图,选择的节点); // 递归 回溯,撤销处理结果 }} 深搜三部曲: 确认递归函数,参数 1void 2024-09-24 代码随想录 #LEECODE
7.11-DP:完全背包问题动态规划:完全背包理论基础本题力扣上没有原题,大家可以去卡码网第52题 (opens new window)去练习,题意是一样的。 完全背包问题题意描述: [!NOTE] 有 𝑁 种物品和一个容量是 𝑉 的背包,每种物品都有无限件可用。 第 𝑖 种物品的体积是 𝑣𝑖,价值是 𝑤𝑖。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格 2024-07-11 代码随想录 #LEECODE
7.10-单调栈739. 每日温度题意描述: [!WARNING] 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 12输入: temperatures = [73,74,75,71,69,72,76,73]输出: [1,1 2024-07-10 代码随想录 #LEECODE
7.8-DP-day2动态规划:01背包理论基础思路对于面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。 如果这几种背包,分不清,我这里画了一个图,如下: 至于背包九讲其他背包,面试几乎不会问,都是竞赛级别的了,leetcode上连多重背包的题目都没有,所以题库也告诉我们,01背包和完全背包就够用了。 而完全背包又是也是01背包稍作变化而来,即:完全背包的物品数量是无限的。 所以背包问题 2024-07-08 代码随想录 #LEECODE
7.7-DP-day1动态规划理论基础 什么是动态规划动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的 在关于贪心算法,你该了解这些! (opens new window)中我举了一个背包问题的例子。 例如:有N件物品和一个最多能背重 2024-07-07 代码随想录 #LEECODE
7.5-贪心篇完结435. 无重叠区间题意描述: [!WARNING] 给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 示例 1: 123输入: intervals = [[1,2],[2,3],[3,4],[1,3]]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。 示例 2: 1 2024-07-05 代码随想录 #LEECODE
7.4-贪心1005.K次取反后最大化的数组和题意描述: [!NOTE] 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可能的最大和 。 示例 1: 123输入:nums = [4,2,3], k = 1输出:5解释: 2024-07-04 代码随想录 #LEECODE
7.3-贪心题目分类大纲如下: 算法公开课《代码随想录》算法视频公开课 (opens new window):贪心算法理论基础! (opens new window),相信结合视频再看本篇题解,更有助于大家对本题的理解。 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 这么说有点抽象,来举一个例子: 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿? 指定每次拿最大的,最 2024-07-03 代码随想录 #LEECODE
7.1-回溯理论基础什么是回溯法 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。 在二叉树系列中,我们已经不止一次,提到了回溯,例如二叉树:以为使用了递归,其实还隐藏着回溯 (opens new window)。 回溯是递归的副产品,只要有递归就会有回溯。 所以以下讲解中,回溯函数也就是递归函数,指的都是一个函数。 回溯法的效率 回溯法的性能如何呢,这里要和大家说清楚了,虽然回溯法很难,很不好理解,但是 2024-07-01 代码随想录 #LEECODE