day48专题

嵌入式学习——数据结构(双向无头有环链表、内核链表、栈)——day48

1. 约瑟夫环问题——双向无头回环链表 1.1 问题描述         给定 ( n ) 个人(编号为 ( 1, 2, \ldots, n )),他们围成一个圈。从第一个人开始报数,每报到第 ( k ) 个人时,杀掉这个人,然后从下一个人重新开始报数。重复这个过程,直到所有人都被杀死。约瑟夫环问题是要确定最后一个幸存者的编号。 1.2 实质         每次删除循环链表中的一个节点,

Day48 代码随想录打卡|二叉树篇---合并二叉树

题目(leecode T617): 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。 返回合并后的二叉树。 注意: 合并过程必须从两个

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

感觉要没书读了。。 DAY48 卡码网57爬楼梯 复习一遍:背包容量在外层循环,物品在内层循环,则为排序数; 物品在外层循环,背包容量在内层循环,则为组合数。 #include<iostream>#include<vector>using namespace std;int main(){    int n,m;    scanf("%d%d",&n,&m);    vector<int

Day48 动态规划part07

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

【算法训练 day48 零钱兑换、完全平方数】

目录 一、零钱兑换-LeetCode 322思路实现代码问题总结 二、完全平方数-LeetCode 279思路实现代码问题总结 一、零钱兑换-LeetCode 322 Leecode链接: leetcode 322 文章链接: 代码随想录 视频链接: B站 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以

随想录Day48 57.爬楼梯进阶 322.零钱兑换 279.完全平方数

随想录Day48 57.爬楼梯进阶 322.零钱兑换 279.完全平方数 57.爬楼梯进阶 题目链接 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬至多m (1 <= m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 完全背包 # include <iostream># include <vector>using namespa

前端面试题日常练-day48 【面试题】

题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末 1. 在Bootstrap中,以下哪个类用于创建一个具有响应式的导航栏? a) .navbar-responsive b) .responsive-nav c) .navbar-collapse d) .nav-responsive 2. 哪个Bootstrap类用于创建一个具有圆形样式的图像? a) .img-circle

【每日刷题】Day48

【每日刷题】Day48 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 872. 叶子相似的树 - 力扣(LeetCode) 2. 114. 二叉树展开为链表 - 力扣(LeetCode) 1. 872. 叶子相似的树 - 力扣(LeetCode) //思路:将两个二叉树的叶子节点分别存入两个数组中,使用memcmp函数比较两个数组中的内

Day48代码随想录动态规划part10:121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

Day48 动态规划part10 股票问题 121. 买卖股票的最佳时机 leetcode链接:121. 买卖股票的最佳时机 - 力扣(LeetCode) 题意:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可

【算法刷题day48】Leetcode:121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II

文章目录 Leetcode 121. 买卖股票的最佳时机解题思路代码总结 Leetcode 122. 买卖股票的最佳时机 II解题思路代码总结 草稿图网站 java的Deque Leetcode 121. 买卖股票的最佳时机 题目:121. 买卖股票的最佳时机 解析:代码随想录解析 解题思路 二维dp数组, 代码 class Solution {public

【代码随想录】day48

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、198打家劫舍二、213打家劫舍II三、337打家劫舍III 一、198打家劫舍 class Solution {public:int rob(vector<int>& nums) {vector<int> dp(nums.size() + 2, 0);for (int i = 0; i

代码随想录算法训练营DAY48|C++动态规划Part9|121.买卖股票的最佳时机、122.买卖股票的最佳时机II、123.买卖股票的最佳时机III

文章目录 121.买卖股票的最佳时机思路CPP代码 122.买卖股票的最佳时机II思路CPP代码 123.买卖股票的最佳时机III思路CPP代码 121.买卖股票的最佳时机 力扣题目链接 文章讲解:121.买卖股票的最佳时机 视频讲解:动态规划之 LeetCode:121.买卖股票的最佳时机1 状态:非常与众不同的动态规划题,也是一类典型的动态规划题。 思路 dp数组

算法打卡day48|动态规划篇16| Leetcode 583. 两个字符串的删除操作、72. 编辑距离

算法题 Leetcode 583. 两个字符串的删除操作 题目链接:583. 两个字符串的删除操作 大佬视频讲解:583. 两个字符串的删除操作视频讲解  个人思路  本题和115.不同的子序列相比,变为了两个字符串都可以删除,整体思路是不变的,依旧用动态规划解决,关键在于递推公式的推导 解法 动态规划 动规五部曲: 1.确定dp数组(dp table)以及下标的

稀碎从零算法笔记Day48-LeetCode:三角形最小路径和

题型:DP、二维DP、矩阵 链接:120. 三角形最小路径和 - 力扣(LeetCode) 来源:LeetCode 题目描述 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到

java算法day48 | 动态规划part09 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

198.打家劫舍 class Solution {public int rob(int[] nums) {if(nums.length==0) return 0;if(nums.length==1) return nums[0];int[] dp=new int[nums.length];dp[0]=nums[0];dp[1]=Math.max(nums[1],nums[0]);for(i

蓝桥杯真题Day48 倒计时7天 练了几道真题小程序+回溯剪枝应用一个小程序

[蓝桥杯 2023 省 A] 更小的数 题目描述 小蓝有一个长度均为 n 且仅由数字字符 0∼9 组成的字符串,下标从0到 n−1,你可以将其视作是一个具有n位的十进制数字num,小蓝可以从num 中选出一段连续的子串并将子串进行反转,最多反转一次。 小蓝想要将选出的子串进行反转后再放入原位置处得到的新的数字num(new)​ 满足条件num(new)​<num,请你帮他计算下一共有多少

刷题DAY48 | LeetCode 198-打家劫舍 213-打家劫舍II 337-打家劫舍III

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

C++从零开始(day48)——map再深理解

这是关于一个普通双非本科大一学生的C++的学习记录贴 在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料 那么开启正题 今天分享的是关于set和map的知识点 1.map的operator[ ] 1.1介绍 map类里有重载[ ],但是这里的[ ]与vector, string,deque里的不一样,简单来说,传入pair键值对里面的

[力扣 Hot100]Day48 路径总和 III

题目描述 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 出处 思路 递归看任意子树从根出发的路径是否符合要求,注意和用float存。 代码 class Solution {public:i

代码随想录算法训练营day48|第九章 动态规划part10

目录 121. 买卖股票的最佳时机  122.买卖股票的最佳时机II   121. 买卖股票的最佳时机  视频讲解:动态规划之 LeetCode:121.买卖股票的最佳时机1_哔哩哔哩_bilibili 代码随想录 贪心算法—— 贪的是最小价格和最大差值(当然是当天或这天后的价格与最小价格的差值),代码很好懂。遍历一遍得到最小价格,同时及时更新最大差值。 int maxP

代码随想录算法训练营Day48 | 121.买卖股票的最佳时机、122.买卖股票的最佳时机 II

121.买卖股票的最佳时机 (想写动态规划写着写着变成贪心了) 半贪心半动规: int maxProfit(vector<int>& prices) {vector<int> dp(prices.size(), 0);int minVal = prices[0];for (int i = 1; i < prices.size(); ++i) {// 更新最低买入价格if (prices[i]

代码随想录算法训练营|day48

第九章 动态规划 121.买卖股票的最佳时机122.买卖股票的最佳时机II代码随想录文章详解 121.买卖股票的最佳时机 本题中股票只能买卖一次 dp[i][0] 表示第i天不买入股票持有的最大现金;dp[i][1] 表示第i天买入股票持有的最大现金。 不买股票持有的最大现金买入股票持有的最大现金前一天为未买入状态     dp[i-1][0]前一天为买入状态,今天卖出 dp[

【LeetCode】122. 买卖股票的最佳时机 II(中等)——代码随想录算法训练营Day48

题目链接:122. 买卖股票的最佳时机 II 题目描述 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最大 利润 。 示例 1: 输入:prices = [7,1,5,3,6,4]输出:7解释:

day48 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

一遍过。 当前房屋偷与不偷取决于 前一个房屋和前两个房屋是否被偷了。所以这里就更感觉到,当前状态和前面状态会有一种依赖关系,那么这种依赖关系都是动规的递推公式。 class Solution {public:int rob(vector<int>& nums) {vector<vector<int>> dp(40001,vector<int>(2,0));for(int i=1;i<=n

Day48- 动态规划part16

一、两个字符串的删除操作 题目一:583. 两个字符串的删除操作 583. 两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和  word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 这个问题实际上是求两个字符串的最长公共子序列(LCS)的长度的变种。一旦找到了最长公共子序列的长度,通过删除两个字符串中不在LCS中的所有字

算法训练营Day48

#Java #动态规划 Feeling and experiences: 回文子串:力扣题目链接 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1: 输入:s = "abc