part08专题

代码随想录算法训练营第五十八天 | 图论part08

117. 软件构建 在这一题中,只需要输出一种方法。使用BFS的方法,找到入度为0的节点,将其从树中删去,重复上述步骤,直到没有入度为0的节点。如果此时没有删除所有的节点,表明这个有向图有环,输出-1.否则,正常输出。 #include <iostream>#include <vector>#include <unordered_map>#include <queue>#include

day58-graph theory-part08-8.29

tasks for today: 1. 拓扑排序 117.软件构建 2. dijkstra算法 47.参加科学大会 --------------------------------------------------------------------------------- 1. 拓扑排序 117.软件构建 In this practice, it involves mainly t

代码随想录训练营 Day41打卡 动态规划 part08 121. 买卖股票的最佳时机 122. 买卖股票的最佳时机II 123. 买卖股票的最佳时机III

代码随想录训练营 Day41打卡 动态规划 part08 一、力扣121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0

【随想录】Day46—第九章 动态规划part08

目录 题目1: 139. 单词拆分1- 思路2- 题解⭐单词拆分——题解思路 题目2: 完全背包题目3: 背包问题总结总结 题目1: 139. 单词拆分 题目链接:139. 单词拆分 1- 思路 目标 根据字符串 String s 和 List<String> wordDict 来判断是否能通过 wordDict 组成 s 动规五部曲 1. 确定 dp 数组

Day46 动态规划part08 139.单词拆分 多重背包

Day46 动态规划part08 139.单词拆分 多重背包 139. 单词拆分 class Solution {public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> wordSet(wordDict.begin(), wordDict.end());vector<bool> dp(s

代码随想录算法训练营第四十五天丨 动态规划part08

139.单词拆分 思路 背包问题 单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。 拆分时可以重复使用字典中的单词,说明就是一个完全背包! 动规五部曲分析如下: 确定dp数组以及下标的含义 dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词。 确定递推公式 如果确定dp[j] 是true,且 [j

代码随想录算法训练营第二十一天丨 二叉树part08

235. 二叉搜索树的最近公共祖先 思路 昨天做过的二叉树:公共祖先问题 (opens new window)题目,知道利用回溯从底向上搜索,遇到一个节点的左子树里有p,右子树里有q,那么当前节点就是最近公共祖先。 那么本题是二叉搜索树,二叉搜索树是有序的,那得好好利用一下这个特点。 在有序树里,如果判断一个节点的左子树里有p,右子树里有q呢? 因为是有序树,所有 如果 中间节点是 q