part07专题

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

53. 寻宝 prim算法 prim算法 #include <iostream>#include <vector>#include <fstream>#include <climits>using namespace std;int main() {int v, e;int v1, v2, val;ifstream infile("input.txt");cin >> v >> e;ve

day57-graph theory-part07-8.28

tasks for today: 1. prim算法 53.寻宝 2. kruskal算法 53.寻宝 ---------------------------------------------------------------------------- 1. prim算法 53.寻宝 In this practice, we see how prim algorithm is use

代码随想录算法训练营第17天 | 第六章 二叉树 part07

第六章 二叉树part07 235. 二叉搜索树的最近公共祖先701.二叉搜索树中的插入操作450.删除二叉搜索树中的节点 235. 二叉搜索树的最近公共祖先 相对于 二叉树的最近公共祖先 本题就简单一些了,因为 可以利用二叉搜索树的特性。 题目链接/文章讲解:[link](https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%

Day48 动态规划part07

爬楼梯进阶版(未掌握) 没有搞清楚完全背包的排列和组合的区别题目问的是有多少组不同的方法爬上楼顶,{2,1}和{1,2}是不同的方法,因此属于排列问题,所以应该先背包后物品根据题意可知,将需要n阶爬上楼顶理解为背包容量最大为n,每次你可以爬至多m 个台阶理解为一共有m个物品,每个物品的重量是m,且每个物品没有使用次数限制。题目变成完全背包问题,即装满容量为n的背包一共有多少种方法代码: LC3

代码随想录|Day42|动态规划 part07|● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数

70. 爬楼梯 (进阶)  322. 零钱兑换 class Solution:     def climbStairs(self, n: int) -> int:         if n <= 1:             return n         dp = [0] * (n + 1)         dp[0] = 0         dp[1] = 1

【随想录】Day45—第九章 动态规划part07

目录 题目1: 70. 爬楼梯(进阶版)1- 思路动规五部曲 2- 题解⭐爬楼梯——题解思路 题目2: 零钱兑换1- 思路动规五部曲 2- 题解⭐零钱兑换——题解思路 题目3:完全平方数1- 思路动规五部曲 2- 题解⭐完全平方数——题解思路 题目1: 70. 爬楼梯(进阶版) 题目链接:卡码网:57. 爬楼梯 1- 思路 动规五部曲 1. 确定 dp 数组

【随想录】Day21—第六章 二叉树part07

目录 题目1: 530. 二叉搜索树的最小绝对差1- 思路2- 题解⭐ 二叉搜索树的最小绝对差 ——题解思路 题目2: 二叉搜索树中的众数1- 思路2- 题解⭐ 二叉搜索树中的众数 ——题解思路 题目3: 二叉树的最近公共祖先1- 思路2- 题解⭐ 二叉树的最近公共祖先 ——题解思路 题目1: 530. 二叉搜索树的最小绝对差 题目链接:530. 二叉搜索树的最小绝对

day20-二叉树part07

530.二叉搜索树的最小绝对差  思路:中序遍历转换成有序数组,遍历数组计算数组相邻元素的差值保存最小,多开辟一个数组空间 class Solution {private List<Integer> list = new ArrayList<>();private void traversal(TreeNode root) {if (root == null) return;tr

Day45 动态规划 part07

Day45 动态规划 part07 57. 爬楼梯(卡码网) 我的思路: 和昨天的组合总和题几乎一模一样的代码 解答: import java.util.*;public class Main {public static void main (String[] args) {Scanner myScanner = new Scanner(System.in);int n = myScan

Day21|二叉树part07:530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

530. *二叉搜索树的最小绝对差(双指针题型) 众所周知二叉搜索树的中序遍历序列是一个有序数组,因此最基本的方法就是遍历得到中序序列再进行计算,实际上可以用双指针法,记录中序遍历前一个指针和当前指针的差值: class Solution {private int res = Integer.MAX_VALUE;private TreeNode pre = null;private void

代码随想录 day21 第六章 二叉树part07

今日内容 ●  530.二叉搜索树的最小绝对差 ●  501.二叉搜索树中的众数 ●  236. 二叉树的最近公共祖先 详细布置 1. 二叉搜索树的最小绝对差 关联 leetcode 530.二叉搜索树的最小绝对差 思路 直白想法 中序遍历可以得到一个有序节点值序列 先中序排列二叉树暴力找最小差双指针 中序遍历二叉树+双指针 左【pre】+中【cur】中【pre】+右【cur】

Leetcoder Day40| 动态规划part07

322. 零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1 示例 2: 输入:coins = [2], amou

代码随想录算法训练营day45|第九章 动态规划part07:70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数

70. 爬楼梯 (进阶)  这道题目 爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍  代码随想录 普通的完全背包求排列数问题。 #include <bits/stdc++.h>using namespace std;int main(){int n,m;cin>>n>>m;vector<int> dp(n+1,0);dp[0]=1;for(int i=1;i<n+1;i++)

Leetcoder Day18| 二叉树 part07

语言:Java/Go 今天做了一个小决定,如果时间不够的话,可以先看go去找工作,所以现在加上用go去刷题 530.二叉搜索树的最小绝对差 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 遇到二叉搜索树,就要想到中序遍历是有序的,因此依然可以将二叉搜索树转换为中序遍历数组求解。在二叉搜索树上求什么最值,求差值之类的,都要思考一下二叉搜索树可

Day39- 动态规划part07

一、爬楼梯 题目一:57. 爬楼梯 57. 爬楼梯(第八期模拟笔试) 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。  每次你可以爬至多m (1 <= m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢?  注意:给定 n 是一个正整数。 输入描述 输入共一行,包含两个正整数,分别表示n, m 输出描述 输出一个整数,表示爬到楼顶的方法数。 到达第n个台阶的方

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

530.二叉搜索树的最小绝对差 思路 题目中要求在二叉搜索树上任意两节点的差的绝对值的最小值。 注意是二叉搜索树,二叉搜索树是有序的。 遇到在二叉搜索树上求什么最值啊,差值之类的,就把它想成在一个有序数组上求最值,求差值,这样就简单多了。 递归 那么二叉搜索树采用中序遍历,其实就是一个有序数组。 在一个有序数组上求两个数最小差值,【遍历顺序:左中右】 最直观的想法,就是把二叉搜索树