Day53 | 单调栈:接雨水&&柱形图中最大的矩形
Day53 | 单调栈:接雨水&&柱形图中最大的矩形单调栈【基础算法精讲 26】_哔哩哔哩_bilibili 42.接雨水42. 接雨水 -...
Day52 | 单调栈:每日温度&&下一个更大的元素I&&下一个更大元素II
Day52 | 单调栈:每日温度&&下一个更大的元素I&&下一个更大元素II单调栈【基础算法精讲 26】_哔哩哔哩_bilibili 及时去掉无用数据,保证栈中元素有序 739.每日温度739. 每日温度 - 力扣(LeetCode) 从左往右遍历 每次碰到一个数就先和栈顶元素进行比较,如果比栈顶元素大,那说明我们找到了答案,就记录答案,然后把找到答案的元素出栈 我们这样收集下来,栈里面的元素都是单调递减的 举个例子,如图所示 我们从1往后遍历,栈为空,1入栈,此时栈内为1 碰到4,4大于1,那就把1出栈,然后记录答案,4入栈,栈内为4 碰到3,3小于4, 3入栈,栈内为4,3 碰到5, 5大于3,3出栈,记录答案,栈内为4 栈顶元素变成了4,继续比较,5大于4,4也找到了答案,记录答案,4弹出,5入栈 以此类推 完整代码: 1234567891011121314151617class Solution {public: vector<int>...
二叉树路径问题模板总结
二叉树路径问题模板总结问题分类二叉树路径的问题大致可以分为两类: 1、自顶向下一般是前序遍历 顾名思义,就是从某一个节点(不一定是根节点),从上向下寻找路径,到某一个节点(不一定是叶节点)结束具体题目如下: 257. 二叉树的所有路径 - 力扣(LeetCode) 112. 路径总和 - 力扣(LeetCode) 113. 路径总和 II - 力扣(LeetCode) 437. 路径总和 III - 力扣(LeetCode) 面试题 04.12. 求和路径 - 力扣(LeetCode) 988. 从叶结点开始的最小字符串 - 力扣(LeetCode) 而继续细分的话还可以分成一般路径与给定和的路径 自顶而下:dfs,每次记得想想递归函数的本层逻辑,收集结果的条件,继续递归要传什么参数 123456789101112131415161718192021222324252627282930313233//一般路径,即单纯收集路径: vector<vector<int>> res; void tra(TreeNode *t,vector<int>...
王道操作系统目录以及学习感受和总结
王道操作系统目录以及学习感受和总结目录下面是csdn链接 操作系统 | 学习笔记 | 王道 |第一章_精简置备和厚置备性能差多少-CSDN博客 操作系统 | 学习笔记 | 王道 | 2.1 进程与线程-CSDN博客 操作系统 | 学习笔记 | 王道 | 2.2处理机调度-CSDN博客 操作系统 | 学习笔记 | 王道 | 2.3 同步与互斥-CSDN博客 操作系统 | 学习笔记 | 王道 | 2.4死锁-CSDN博客 操作系统 | 学习笔记 | 王道 | 3.1 内存管理概念_操作系统知识点王道内存-CSDN博客 操作系统 | 学习笔记 | 王道 | 3.2 虚拟内存管理-CSDN博客 操作系统 | 学习笔记 | 王道 | 4.1 文件系统基础_平均启动磁盘20次-CSDN博客 操作系统 | 学习笔记 | 王道 | 4.2 目录_王道操作系统为什么4.2-CSDN博客 操作系统 | 学习笔记 | 王道 | 4.3 文件系统_王道文件系统笔记-CSDN博客 操作系统 | 学习笔记 | | 王道 | 5.1...
Day51 | 动态规划 区间DP 最长回文子序列&&多边形三角部分的最低得分
Day51 | 动态规划 :区间DP 最长回文子序列&&多边形三角部分的最低得分动态规划应该如何学习?-CSDN博客 本次题解参考自灵神的做法,大家也多多支持灵神的题解 区间 DP:最长回文子序列【基础算法精讲 22】_哔哩哔哩_bilibili 动态规划学习: 1.思考回溯法(深度优先遍历)怎么写 注意要画树形结构图 2.转成记忆化搜索 看哪些地方是重复计算的,怎么用记忆化搜索给顶替掉这些重复计算 3.把记忆化搜索翻译成动态规划 基本就是1:1转换 516.最长回文子序列516. 最长回文子序列 -...
Day51 | Day50 | 动态规划 线性DP 最大子数组和&&不同的子序列
Day50 | 动态规划 :线性DP 最大子数组和&&不同的子序列动态规划应该如何学习?-CSDN博客 动态规划学习: 1.思考回溯法(深度优先遍历)怎么写 注意要画树形结构图 2.转成记忆化搜索 看哪些地方是重复计算的,怎么用记忆化搜索给顶替掉这些重复计算 3.把记忆化搜索翻译成动态规划 基本就是1:1转换 53.最大子数组和53. 最大子数组和 - 力扣(LeetCode) 思路分析(子问题):定义dp[i]表示以 nums[i] 结尾的最大子数组和 分类讨论: 1.nums[i] dp[i]=nums[i]; 2.nums[i]和前面的数一起组成最大子数组和 dp[i]=dp[i-1]+nums[i]; 两种情况取最大值即可 动态规划:注: 1.初始化是dp[0]=nums[0],因为第一天最大就是自己了 2.最后需要在遍历一次dp数组获得最大值,因为在dp数组更新过程中的for并不包含dp[0] 12345678910111213class Solution {public: int...
Day49 | 动态规划 线性DP 判断子序列&&两个字符串的删除操作
Day49 | 动态规划 :线性DP 判断子序列&&两个字符串的删除操作动态规划应该如何学习?-CSDN博客 动态规划学习: 1.思考回溯法(深度优先遍历)怎么写 注意要画树形结构图 2.转成记忆化搜索 看哪些地方是重复计算的,怎么用记忆化搜索给顶替掉这些重复计算 3.把记忆化搜索翻译成动态规划 基本就是1:1转换 392.判断子序列392. 判断子序列 - 力扣(LeetCode) 思路分析(子问题):就是昨天的编辑距离的删除操作Day48 | 动态规划 :线性DP...
Day48 | 动态规划 线性DP 编辑距离
Day48 | 动态规划 :线性DP 编辑距离动态规划应该如何学习?-CSDN博客 本次题解参考自灵神的做法,大家也多多支持灵神的题解 最长公共子序列 编辑距离_哔哩哔哩_bilibili 动态规划学习: 1.思考回溯法(深度优先遍历)怎么写 注意要画树形结构图 2.转成记忆化搜索 看哪些地方是重复计算的,怎么用记忆化搜索给顶替掉这些重复计算 3.把记忆化搜索翻译成动态规划 基本就是1:1转换 72.编辑距离72. 编辑距离 - 力扣(LeetCode) 思路分析(子问题):设两个字符串分别是s和t 对应的最后一个字母分别是x和y dfs(x,y)那就是s以x结尾,t以y结尾的两个字符串由s变成t的需要的最小操作数了 举个例子 1word1 = "horse", word2 = "ros" x==1,y==2那就是s==ho变到t==ros需要的最小操作数了 可以先看看昨天这篇题解 Day47 | 动态规划 :线性DP...
Day47 | 动态规划 线性DP 最长公共子序列&&最长公共子数组
Day47 | 动态规划 :线性DP 最长公共子序列&&最长公共子数组动态规划应该如何学习?-CSDN博客 本次题解参考自灵神的做法,大家也多多支持灵神的题解 最长递增子序列【基础算法精讲 20】_哔哩哔哩_bilibili 动态规划学习: 1.思考回溯法(深度优先遍历)怎么写 注意要画树形结构图 2.转成记忆化搜索 看哪些地方是重复计算的,怎么用记忆化搜索给顶替掉这些重复计算 3.把记忆化搜索翻译成动态规划 基本就是1:1转换 1143.最长公共子序列1143. 最长公共子序列 -...
MIT 6.S081 Lab1 Xv6 and Unix utilities
Lab1: Xv6 and Unix utilities实验任务1.启动XV6(easy)安装xv6和qemu部分请看环境搭建部分Mit6.S081-实验环境搭建_mit 6.s081-CSDN博客 启动qemu 执行ls命令 2.Sleep(easy)-练手的,就是熟悉一下怎么在xv6项目中加.c文件,生成可执行程序并进行测试的实现xv6的UNIX程序sleep:您的sleep应该暂停到用户指定的计时数。一个滴答(tick)是由xv6内核定义的时间概念,即来自定时器芯片的两个中断之间的时间。您的解决方案应该在文件user/sleep.c中 提示: 在你开始编码之前,请阅读《book-riscv-rev1》的第一章 看看其他的一些程序(如**/user/echo.c, /user/grep.c, /user/rm.c**)查看如何获取传递给程序的命令行参数 如果用户忘记传递参数,sleep应该打印一条错误信息 命令行参数作为字符串传递;...













