day39专题

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

day39-测试平台搭建之前端vue学习-axios

一、json-server的使用         1.1.安装                 npm install-g json-server         1.2.运行                 json-server--watchdb.json 二、使用         2.1.axios是什么?                 1).前端最流行的ajax请求库

学习记录——day39 C++ Class this指针

一、封装 Class 1、C++ 中的类 Class          C++中的类,是由C++中的结构体演化而来的,只需要将struct改成关键字class,就定义了一个类         C++中类和结构体的区别:                 1)默认的权限不同,结构体中默认权限为public,类中默认权限为private                 2)默认的继承方式不同,

代码随想录Day39:198.打家劫舍、213.打家劫舍II、337.打家劫舍III

198. 打家劫舍 题目链接:LeetCode198.打家劫舍 文档讲解:代码随想录LeetCode198.打家劫舍 题解 dp[i]偷或不偷,取决于dp[i-1]和dp[i-2]是否偷 class Solution {public:int rob(vector<int>& nums) {if (nums.size() == 1)return nums[0];vector<i

day39.动态规划+MySQL数据库复习

一.动态规划: 198.打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。  思路: 如果只有一家 那直接就偷 ; 首先初始化数组,d

【代码随想录训练营第42期 Day39打卡 - 打家劫舍问题 - LeetCode 198.打家劫舍 213.打家劫舍II 337.打家劫舍III

目录 一、做题心得 二、题目与题解 题目一:198.打家劫舍 题目链接 题解:动态规划 题目二:213.打家劫舍II 题目链接 题解:动态规划  题目三:337.打家劫舍III 题目链接 题解:动态规划 三、小结 一、做题心得 今天是打家劫舍的一天,来到了动态规划章节的Part7。打家劫舍问题是动态规划算法很经典的一个应用,今天将从三道题目对其进行探讨。

24暑假算法刷题 | Day39 | 动态规划 VII | LeetCode 198. 打家劫舍,213. 打家劫舍 II,337. 打家劫舍 III

目录 198. 打家劫舍题目描述题解 213. 打家劫舍 II题目描述题解 337. 打家劫舍 III题目描述题解 打家劫舍的一天 😈 198. 打家劫舍 点此跳转题目链接 题目描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动

代码随想录 day37|day38|day39

贪心续 合并区间 题意:将重合的区间合并。 思路:先把区间按照左端点排序。之后使用一个st表示左端点,ed表示右端点,如果区间是分离的那么就把先的区间加入到集合。 代码 struct comp{bool operator()(const vector<int> &lhs ,const vector<int> &rhs){if(lhs[0]<rhs[0]){return true ; }ret

【代码随想录算法训练Day39】LeetCode 62.不同路径、LeetCode 63.不同路径II

Day39 动态规划第二天 LeetCode 62.不同路径 二维dp数组的含义:走到位置为(i,j)的格子的走法为dp[i][j]种。 递推公式:dp[i][j]=dp[i-1][j]+dp[i][j-1]。 初始化:dp[i][0]和dp[0][j]都赋值为1. 递归顺序:从左往右,从上到下。 class Solution {public:int uniquePaths(int m,

day39||第九章 动态规划part02

62.不同路径 class Solution {public int uniquePaths(int m, int n) {int[][] dp = new int[m][n];for(int i =0;i<m;i++) dp[i][0] = 1;for(int j =0;j<n;j++) dp[0][j] = 1;for(int i =1;i<m;i++){for(int j = 1;

代码随想录算法训练营Day39|62.不同路径、63.不同路径II、343.整数拆分、96.不同的二叉搜索树

不同路径 62. 不同路径 - 力扣(LeetCode) 机器人位于m*n网格的左上角,机器人每次只能向下或向右移动一步(移动方向只有下和右,固定了不能回返路径)。机器人需要达到网格的右下角,需要得到共有多少条路径。 思路:使用动态规划来解决,这里需要得到动态规划的dp矩阵,以及dp矩阵的推演公式。 这里我们假定dp矩阵为m*n的矩阵,dp[i][j]为能抵达 i -1,j-1的路径总数,

嵌入式学习——Linux高级编程复习(进程)——day39

1. 进程         进程是计算机科学中的一个核心概念,它是操作系统进行资源分配和调度的基本单位,代表了一个正在执行中的程序实例。当一个程序被加载到内存并开始执行时,它就变成了一个进程。         1. 程序:存放在外存中的一段代码的集合         2. 进程:是一个程序动态执行的过程,包括创建、调度和消亡 2. 进程的创建(创建了一片虚拟内存空间、多个进程共用同一片虚拟

C++笔试强训day39

目录 1.神奇的字母(二) 2.字符编码 3.最少的完全平方数 1.神奇的字母(二) 链接https://ac.nowcoder.com/acm/problem/205832 看输出描述即可知输出次数最多的那个字母即可。 哈希表直接秒了: #include <iostream>#include <string>using namespace std;int

leetcode打卡#day39 738. 单调递增的数字

738. 单调递增的数字 class Solution {public:int monotoneIncreasingDigits(int N) {string strNum = to_string(N);// flag用来标记赋值9从哪里开始// 设置为这个默认值,为了防止第二个for循环在flag没有被赋值的情况下执行int flag = strNum.size();for (int i =

代码随想录算法训练营第36期DAY39

道心破碎的一天,继续加油吧,坚持努力。 DAY39 738单调递增的数字 暴力法: 没有想到用int i=n;i>0;i--来遍历。 class Solution {private:    bool checknum(int num){        if(num<10) return true;        while(num/10!=0){            int low=n

【每日刷题】Day39

【每日刷题】Day39 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 622. 设计循环队列 - 力扣(LeetCode) 2. 387. 字符串中的第一个唯一字符 - 力扣(LeetCode) 3. 2073. 买票需要的时间 - 力扣(LeetCode) 1. 622. 设计循环队列 - 力扣(LeetCode) //思路:顺序表

代码随想录算法训练营DAY39|C++动态规划Part.2|62.不同路径、63.不同路径II

文章目录 62.不同路径思路dp含义递推公式初始化遍历顺序打印 CPP代码 63.不同路径II思路dp含义递推公式初始化遍历打印 CPP代码经典错误 62.不同路径 力扣题目链接 文章讲解:62.不同路径 视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径 状态: 本题还是比较简单的,无论是初始化还是dp数组的确定难度都不高 本题其实可以用深度优

学习JavaEE的日子 Day39 注解,反射

Day39 注解 1.什么是注解 理解:给程序员和程序解释代码信息 2.注解与注释的区别 注释:对程序员解释代码信息 注解:对程序和程序员解释代码信息 3.注解的所用 可以作用于包、类、方法、属性上,给他们添加额外的信息,可以被其他程序(编译器)读取 4.注解的格式 注解是以“@注释名”在代码中存在的,还可以添加一些参数 例如:@SuppressWarning

【力扣一刷】代码随想录day39(动态规划part2:62.不同路径、63. 不同路径 II )

目录 【62.不同路径】中等题 方法一  只初始化start位置 方法二  初始化第一行和第一列 【63. 不同路径 II】中等题 【62.不同路径】中等题 思路: 1、前提:只能向右或向下移动一步,当前格子只能由左边(向右移)或上边(向下移)到达 2、递推关系:到达当前格子的路径数 = 到达左边格子的路径数 + 到达上边格子的路径数 方法一  只初始化start位置 思路:

代码随想录day39 | 动态规划P2 | ● 62 ● 63

62.不同路径  一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 输入:m = 3, n = 7输出:28 示例 2: 输入:m = 3, n = 2输出:3解释:从左上角开始,总共

代码随想录|Day39|动态规划 part02|● 62.不同路径 ● 63. 不同路径 II

62.不同路径  class Solution:     def uniquePaths(self, m: int, n: int) -> int:         dp = [[1] * n for _ in range(m)]  #如何构建一个矩阵         for i in range(1, m):             for j in range(1, n):

【JavaWeb】Day39.MySQL概述——数据库设计-DQL(二)

数据库设计-DQL 聚合函数 聚合函数查询就是纵向查询,它是对一列的值进行计算,然后返回一个结果值。(将一列数据作为一个整体,进行纵向计算) 语法: select  聚合函数(字段列表)  from  表名 ;  注意 : 聚合函数会忽略空值,对NULL值不作为统计。 count :按照列去统计有多少行数据。           在根据指定的列统计的时候,如果这一列中有nu

代码随想录 day39 第九章 动态规划part02

●  62.不同路径 ●  63. 不同路径 II 1. 不同路径 关联 leetcode 62. 不同路径  思路 二维矩阵:二维dp数组 dp数组以及下标的含义 dp[i][j] : 走到 (i,j) 这个位置有多少种不同路径 递推公式 //机器人只能 向右走 或 向下走dp[i][j]=dp[i-1][j]+dp[i][j-1] dp数组如何初始化 //最

稀碎从零算法笔记Day39-LeetCode:有向无环图中一个节点的所有祖先

感觉写的越来越难了hhh,一晚上只研究明白了2道题 题型:拓扑排序、BFS、图 链接:2192. 有向无环图中一个节点的所有祖先 - 力扣(LeetCode) 来源:LeetCode 题目描述(红字为笔者添加) 给你一个正整数 n ,它表示一个 有向无环图 中节点的数目,节点编号为 0 到 n - 1 (包括两者)。 给你一个二维整数数组 edges ,其中 edges[i] = [f

代码随想录day39| 62.不同路径 ,63. 不同路径 II

62. 不同路径 dp[i][j]:到达这个数组不同路径和 递推公式:dp[i][j] = dp[i-1][j]+dp[i][j-1] ——因为题目中要求是只可以向下或者向左 初始化:dp[i][0]和dp[0] 都是为1——因为只可以向下或者向左走,这两边只能直走 遍历顺序:从前向后,从上到下 int **initDP(int m, int n){int **dp = (int**)m

【代码随想录】【动态规划】day39:不同路径

不同路径1 # 机器人从(0,0)出发,到达(m-1,n-1)终点 一共有几种路径# 确定初始数组:dp二维数组 m行n列 表示到m行n列有几种路径dp=[[0] * n for _ in range(m)]dp[0][0]=1for i in range(m):dp[i][0]=1for j in range(n):dp[0][j]=1# dp[1][1]=2for i in rang