一、LeetCoed62.不同路径题目链接:62.不同路径题目描述:一个机器人位于一个 mxn 网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入:m=3,n=7输出:28示例2:输入:m=3,n=2输出:3解释:从左上角开始,总共有3条路径可以到达右下角。1.向右->向下->向下2.向下->向下->向右3.向下->向右->向下示例3:输入:m=7,n=3输出:28示例4:输入:m=3,n=3输出:6提示:1题目数据保证答案小于等于 2*109算法分析:dp
🔥博客主页: 【小扳_-CSDN博客】❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0平衡二叉树 1.1实现判断平衡二叉树的思路 1.2代码实现判断平衡二叉树 2.0二叉树的层序遍历 2.1实现二叉树层序遍历的思路 2.2代码实现二叉树层序遍历 3.0二叉树的最近公共祖先 3.1实现二叉树的最近公共祖先的思路 3.2 代码实现二叉树的最近公共祖先 4.0根据二叉树创建字符串 4.1实现根据二叉树创建字符串的思路 4.2代码实现根据二叉树创建字符串 1.0平衡二叉树题目: 给定一个二叉树
一、两个字符串的删除操作 1.1题目 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。示例1:输入:word1="sea",word2="eat"输出:2解释:第一步将"sea"变为"ea",第二步将"eat"变为"ea"示例 2:输入:word1="leetcode",word2="etco"输出:4提示:1word1 和 word2 只包含小写英文字母 1.2题目链接 583.两个字符串的删除操作 1.3解题过程和过
LeetCodeT309买卖股票的最佳时机含冷冻期题目链接:309.买卖股票的最佳时机含冷冻期-力扣(LeetCode)题目思路:这题其实就是将卖出的状态拆分成三个状态1.前两天就卖出并一直保持卖出的状态2.今天卖出的状态3.今天是冷冻期的状态当然还有一个持有的状态下面我们用动规五部曲来分析1.确定dp数组含义dp[i][j]同样表示第i天在第j个状态的最大钱数2.确定递推公式//持有状态要么是之前就是持有状态的延续,要么就是冷冻期结束买入,要么就是卖出状态买入,三者取最大值即可dp[i][0]//卖出持续状态 维持前面的卖出状态或者是冷冻期结束维持卖出状态dp[i][1]//当天卖出状态就
多线程入门一、线程和进程进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间和系统资源,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。进程是系统进行资源分配和调度的独立单位。单cpu同一时间点只能执行一件事情,CPU高效的切换让我们觉得是同时进行的我们在同一个进程内可以执行多个任务,每个任务就可以看成一个线程进程就是正在运行的程序进程是系统进行资源分配和调度的独立单位,每一个进程都有它自己的内存空间和系统资源。案例:百度云盘(一个应用程序:进程)下载功能(可以同时下载多个文件)线程
文章目录92.反转链表II:样例1:样例2:提示:进阶:分析:题解:rust:go:c++:python:java:92.反转链表II:给你单链表的头指针head和两个整数left和right,其中left。请你反转从位置left到位置right的链表节点,返回反转后的链表。样例1:输入: head=[1,2,3,4,5],left=2,right=4 输出: [1,4,3,2,5]样例2:输入: head=[5],left=1,right=1 输出: [5]提示:链表中节点数目为n1-5001进阶:你可以使用一趟扫描完成反转吗?将链表分成3部分,即前面不需要反转的部分,中间需要反转的
🔥博客主页: 【小扳_-CSDN博客】❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0中缀表达式转后缀说明 1.1实现中缀表达式转后缀思路 2.0逆波兰表达式求值 2.1实现逆波兰表达式求值思路 3.0有效的括号 3.1实现有效的括号思路 4.0栈的压入、弹出序列 4.1实现栈的压入、弹出序列思路 5.0最小栈 5.1实现最小栈思路 1.0中缀表达式转后缀说明 中缀表达式转后缀表达式是一种常见的算术表达式转换方法,它将中缀表达式(即常见的人类习惯的表达方式,例如("3+4*2")转换为后缀表达式(也称为逆波兰表达
提建议就是,有些题还是有联系的,建议就收看完 876.链表的中间节点(http://t.csdnimg.cn/7axLa),再将这一题联系起来面试题02.02.返回倒数第k个节点题目:实现一种算法,找出单向链表中倒数第k个节点。返回该节点的值。说明:给定的k保证是有效的。题目链接力扣(LeetCode)官网-全球极客挚爱的技术成长平台文字和画图分析这题和快慢指针有点像(返回876.链表的中间节点),我们定义两个指针fast指针和slow指针,都存放头节点的地址这里我们有两种思路:fast先比slow多走k步,然后同时走完链表(放循环里面)fast先比slow多走k-1步,然后同时走完链表(放循
今日刷题心得体会(未看视频讲解):1、二分搜索:涉及要找target前、后的元素时,注意数组是否溢出。704.二分查找题目链接:704.二分查找-力扣(LeetCode)想法:使用二分查找代码实现:intsearch(int*nums,intnumsSize,inttarget){intleft=0,right=numsSize-1,mid=(left+right)/2,ans=-1;while(lefttarget){right=mid-1;mid=(left+right)/2;}elseif(nums[mid]==target){ans=mid;break;}}returnans;}遇到的
LeetCode-10.正则表达式匹配问题分析算法描述程序代码C++Go问题分析这道题的难点主要在于*号的匹配,这里记dp[i][j]表示s[1...i]和p[1...j]能否完成匹配,先根据特殊情况归纳总结:*号匹配0次,则dp[i][j]=dp[i][j-2]*号匹配1次,则dp[i][j]=dp[i-1][j-2]&&s[i]==p[j-1]*号匹配2次,则dp[i][j]=dp[i-2][j-2]&&s[i-1]==p[j-1]&&s[i]==p[j-1]*号匹配3次,则dp[i][j]=dp[i-3][j-2]&&...*号匹配k次,则dp[i][j]=dp[i-k][j-2]&&.