草庐IT

LeetCode刷题之树

全部标签

LeetCode刷题---斐波那契数列模型

顾得泉:个人主页个人专栏:《Linux操作系统》  《C/C++》  《LeedCode刷题》键盘敲烂,年薪百万!一、第N个泰波那契数题目链接:1137.第N个泰波那契数  题目描述泰波那契序列Tn定义如下:        T0=0,T1=1,T2=1,且在n>=0的条件下Tn+3=Tn+Tn+1t+Tn+2        给你整数n,请返回第n个泰波那契数Tn的值。示例1:        输入:n=4        输出:4解释:        T_3=0+1+1=2        T_4=1+1+2=4示例2:        输入:n=25        输出:1389537解法1.状态表

leetcode数据结构与算法刷题(三)

目录第一题交叉链表思想:注意点 第一步先求两个链表的长度第二步让长的先走,当长短一样时一起走。犯错点 第二题判断是有环 思想: 注意错误分享第三题(重点面试题) 思路: 这题面试问题🧐😎🤓🫠⭐ 第一题为什么他们会在入口出相遇第二题L=N*C-X 怎么得来的第三题slow一次走一步,fast一次走2步一定会相遇吗第四题slow一次走1步,fast一次走三步会相遇吗第五题slow一次走n步,fast一次走m步可以追上吗第一题交叉链表160.相交链表简单相关标签相关企业给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 nu

【动态规划】LeetCode2552:优化了6版的1324模式

本文涉及的基础知识点C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例包括课程视频动态规划本题其它解法C++前缀和算法的应用:统计上升四元组类似题解法包括题目及代码C++二分查找算法:132模式解法一枚举3C++二分查找算法:132模式解法二枚举2代码简洁C++二分查找算法:132模式解法三枚举1性能最佳C++单调向量算法:132模式解法三枚举1代码更简洁C++二分查找算法:132模式枚举3简洁版代码简洁,性能优越C++单调向量:132模式枚举1简洁版题目给你一个长度为n下标从0开始的整数数组nums,它包含1到n的所有数字,请你返回上升四元组的数目。如果一个四元组(i,j,k,l)

蓝桥杯刷题冲刺 | 倒计时10天

作者:指针不指南吗专栏:蓝桥杯倒计时冲刺🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾文章目录1.有边数限制的最短路2.九进制转十进制1.有边数限制的最短路题目链接:853.有边数限制的最短路-AcWing题库给定一个n个点m条边的有向图,图中可能存在重边和自环,边权可能为负数。请你求出从11号点到n号点的最多经过k条边的最短距离,如果无法从1号点走到n号点,输出impossible。注意:图中可能存在负权回路。输入格式第一行包含三个整数n,m,k。接下来m行,每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。点的编号为1∼n。输出格式输出一个整数,表示从1号点到

leetcode面试经典150题——30 长度最小的子数组

题目:长度最小的子数组描述:给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于target的长度最小的连续子数组[numsl,numsl+1,…,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0。示例1:输入:target=7,nums=[2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的子数组。leetcode链接方法一:滑动窗口滑动窗口有两种:一种是固定大小的窗口,另一种是动态大小的窗口,而本题要求长度最小的子数组,所以应该用动态大小的窗口,滑动窗口基于双指针的思想:我们定义两个指针left和righ

python经典百题之皮球掉落

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?解法一:迭代法算法思路:初始高度为100米,累计经过的距离初始化为0。使用一个循环来模拟球的自由落地以及反弹的过程,重复10次。在每一次循环中,球落地后高度减半,距离增加落地距离和反弹距离(即两倍的高度)。最后统计得到第10次落地时的累计距离和反弹高度。优点:简单易懂,实现较为简单。缺点:需要进行10次循环计算,效率较低。Python代码实现:height=100distance=0for_inrange(10):#落地距离distance+=height#反弹高度he

LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少

LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少?提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目互联网大厂们在公司养了一大批ACM竞赛的大佬们,吃完饭就是设计考题,然后去考应聘人员,你要做的就是学基础树结构与算法,然后打通任督二脉,以应对波云诡谲的大厂笔试面试题!你要是不扎实学习数据结构与算法,好好动手手撕代码,锻炼解题能力,你可能会在笔试面试过程中,连题目都看不懂!比如华为,字节啥的,足够让你读不懂题文章目录LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少?@

Java LeetCode篇-深入了解关于单链表的经典解法

  🔥博客主页: 【小扳_-CSDN博客】❤感谢大家点赞👍收藏⭐评论✍ 文章目录        1.0移除链表元素        1.1使用双指针方法        2.0反转链表        2.1递归法        2.2头插法    3.0链表中倒数第k个节点    3.1递归法    3.2快慢指针    4.0合并两个有序链表    4.1递归法    4.2尾插法    5.0链表的回文结构    5.1双指针与反转    6.0环形链表    6.1快慢指针    7.0相交链表        7.1暴力解法        7.2计算长度    1.0移除链表元素题目:   

【双指针】:Leetcode283.移动零

朋友们、伙计们,我们又见面了,本专栏是关于各种算法的解析,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成!C语言专栏:C语言:从入门到精通数据结构专栏:数据结构个 人 主 页 :stackY、C++专栏  :C++Linux专 栏 :Linux目录1.双指针思想2.移动零2.1题目解析2.2算法思路2.3代码实现2.4算法复杂度1.双指针思想常见的双指针有两种形式:一种是对撞指针、一种是快慢指针1.对撞指针:一般位于顺序结构中,也被称为左右指针。对撞指针从两端向中间移动,⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼近。对撞指针的终⽌条件⼀般是两个指针相撞或者错开

【LeetCode】105. 从前序与中序遍历序列构造二叉树,106. 从中序与后序遍历序列构造二叉树,144. 二叉树的前序遍历非递归实现,94. 二叉树的中序遍历非递归实现,145. 二叉树的后序

二叉树进阶题目105.从前序与中序遍历序列构造二叉树解题思路及实现106.从中序与后序遍历序列构造二叉树解题思路及实现144.二叉树的前序遍历非递归实现解题思路及实现94.二叉树的中序遍历非递归实现解题思路及实现145.二叉树的后序遍历非递归实现解题思路及实现105.从前序与中序遍历序列构造二叉树给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例输入:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]输出:[3,9,20,null,null,15,7