![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深夜咖啡配算法
文章平均质量分 91
Jammingpro
[2024年3月10号]Flag:产高质量、细节感拉满、高产的博主
展开
-
LeetCode-LeetCode-1137. 第 N 个泰波那契数 C/C++实现 超详细思路及过程[E]
🐟记录一句:Good good study,day day up。原创 2023-11-27 21:14:21 · 900 阅读 · 0 评论 -
LeetCode-面试题08.01 三步问题 C/C++实现 超详细思路及过程[E]
🐟记录一句:上一篇博客这里好像没改,那就不改了。原创 2023-11-23 20:25:37 · 179 阅读 · 0 评论 -
LeetCode-805.保持城市天际线 C/C++实现 超详细思路及过程[M]
🐟记录一句:摆烂一天后,写的第一篇博客。原创 2023-11-23 19:47:06 · 175 阅读 · 0 评论 -
LeetCode-45. 跳跃游戏 C/C++实现 超详细思路及过程[M]
还需设置一个。原创 2023-11-19 20:46:58 · 413 阅读 · 0 评论 -
LeetCode-198. 打家劫舍 C/C++实现 超详细思路及过程[M]
这里我们创建一个长度为5的dp数组,因为第一个房子能偷到的最大金额为2,所以dp[0]=2;根据上面的公式,我们可以得到第三个房子能偷到的最大金额为11,所以dp[2]=11。在偷第二个房子的时候,由于我们不能偷连续的两个房子,也就是不能第一个和第二个房子一起被偷,那么我们就要比较一下第一个房子更值钱,还是第二个房子更值钱了。因为我们是一个累计的过程,第三个房子处得到的价值是累计了一号房子和三号房子的结果的。初始化操作要遵循不影响结果的元素,上述初始化为0时恰好不影响dp[0],dp[1]的结果。原创 2023-10-19 17:47:37 · 277 阅读 · 1 评论 -
LeetCode-70. 爬楼梯 C/C++实现 超详细思路及过程[E]
这里的初始状态就是n=1和n=2的情况,为什么是这两种情况?由题目分析可知,n=1时,爬楼梯方法只有1种(跨一个台阶就到楼顶了);n=2时,爬楼梯的方法数有2种,即跨2阶到楼顶或者跨1阶再跨1阶到楼顶。因为当n=3时,此时的爬楼梯的方法数决定于n=2和n=1的方法数。我们知道,到n的方法有两种情况,一种是从n-1个台阶跨1阶到达的,一种是从n-2个台阶跨2阶到达的。但是这个方法在n过大的时候会超时,我们大概看看递归法的实现就可以了,这里不详细描述。方法1:1 阶 + 1 阶 + 1 阶。原创 2023-10-18 17:52:03 · 752 阅读 · 1 评论 -
LeetCode-746. 使用最小花费爬楼梯 C/C++实现 超详细思路及过程[E]
如果我们创建长度为2的dp数组,1号下标记录前一个台阶需要的总花费,0号下标记录前一个台阶的前一个台阶的总花费。因为计算当前台阶的下一个台阶的花费时,不再不要0号下标所对应台阶的花费,因此可以用0号下标存储当前台阶的前一台阶花费,使用1号下标存储当前台阶花费。因而,可以构建下面的关系式:当前总花费 = 当前台阶花费 + min(前一台阶花费 ,前一个的前一个台阶花费)。②下标1的花费 = 当前台阶花费 + min(前一台阶花费 ,前一个的前一个台阶花费) = 15 + min(0 , 10) = 15。原创 2023-10-17 20:11:29 · 484 阅读 · 1 评论 -
LeetCode-136. 只出现一次的数字 超详细思路及过程[E]
## 题目描述难度:简单相关标签:位运算、数组给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现的算法来解决此问题,且该算法只使用。输入:nums = [2,2,1]输出:1输入:nums = [4,1,2,1,2]输出:4输入:nums = [1]输出:1除了某个元素只出现一次以外,其余每个元素均出现两次。原创 2023-10-15 17:37:53 · 109 阅读 · 1 评论 -
LeetCode-面试题 17.04. 消失的数字 超详细思路及过程[E]
此时将0、1、2异或操作后的结果与0和1分别异或,会发现结果为2。异或运算时,两个位若相同,则异或结果为0,两个位若不同,则异或结果为1。拿到这个题,我在想:如果给的输入是有序的,再挨个遍历,如果两个相邻元素的差大于1,这不就可以了找到缺失的那个数据了嘛。💡bink->数学方法求解:先通过等差数列求和公式求解0到n的和,在遍历的过程中,将各个元素减掉,剩下的值就是缺失的数字。若我们将0与0到n的各个数进行异或,再对用户输入的数组的各个元素进行异或,则异或后结果就是缺失的数字。写完上面的算法,我心身疲惫。原创 2023-10-14 14:47:33 · 44 阅读 · 0 评论 -
LeetCode-206[LCR 024].反转链表 超详细思路及过程[E]
我们只需要在cur指针域指向prev之前,使用一个新的指针next记录cur当前的指针域。我们要考虑反转后的最后一个结点,即反转前的头节点。下面是一个有4个结点的单链表,其中有一个指针prev指向数值域为8的结点,一个指针cur指向数值域为6的结点。head->next即head的下一个结点,下一个结点的指针域指向head就可实现。当cur的指针域指向prev时,cur后续的结点就找不到了。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。输入:head = [1,2,3,4,5]原创 2023-10-14 09:27:09 · 175 阅读 · 3 评论 -
LeetCode-27.移除元素 超详细思路及过程[E]
src指向应是不等于2的元素的下一位置,在src加1前,应将src当前位置,即下标为2的位置的元素存储为index当前下标的元素,即nums[src]=nums[index]。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。index=3时,3!=2,此时,src记录的不等于2的元素个数为2,2下标的元素是2,即不需要存储的元素。也就是说,src记录的不等于val的总个数,也是指向不等于val的最后一个元素的下一位置的下标。原创 2023-10-13 20:51:02 · 172 阅读 · 0 评论