草庐IT

LeetCode刷题之树

全部标签

【LeetCode】【数据结构】栈与队列必刷OJ题

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》🌝每一个不曾起舞的日子,都是对生命的辜负目录前言:【LeetCode】20.有效的括号(栈的括号匹配问题)【LeetCode】225.用队列实现栈【LeetCode】232.用栈实现队列【LeetCode】622.设计循环队列前言:本篇文章博主会给大家推荐几道栈与队列的必刷OJ题,并提供思路分析及原码(包含栈与队列的实现)。欢迎大家📂收藏📂以便未来做题时可以快速找到思路,巧妙的方法可以事半功倍。=====================================================

LeetCode - 494 目标和

目录题目来源题目描述示例提示题目解析算法源码题目来源494.目标和-力扣(LeetCode)题目描述给你一个整数数组nums和一个整数target。向数组中的每个整数前添加 '+'或'-',然后串联起所有整数,可以构造一个表达式:例如,nums=[2,1],可以在2之前添加'+',在1之前添加'-',然后串联起来得到表达式"+2-1"。返回可以通过上述方法构造的、运算结果等于target的不同表达式的数目。示例输入nums=[1,1,1,1,1],target=3输出5解释一共有5种方法让最终目标和为3。-1+1+1+1+1=3+1-1+1+1+1=3+1+1-1+1+1=3+1+1+1-1+

算法leetcode|28. 找出字符串中第一个匹配项的下标(rust重拳出击)

文章目录28.找出字符串中第一个匹配项的下标:样例1:样例2:提示:分析:题解:rustgoc++cpythonjava28.找出字符串中第一个匹配项的下标:给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。样例1:输入: haystack="sadbutsad",needle="sad" 输出: 0 解释: "sad"在下标0和6处匹配。 第一个匹配项的下标是0,所以返回0。样例2:输入: haystack="leetcode",needle="le

数据结构:力扣刷题

题一:删除有序数组中的重复项 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k 。思路一:暴力求解,直接定义一个int类型取不到的数,让这个数去判断与其他的数是否相同,相同不理会,不相同赋值到【left

链表刷题常用技巧——快慢指针

强大,不动如山的强大,不会输给自己的真正的强大。 往期回顾:数据结构——单链表单链表力扣刷题文章目录经典例题:链表的中间结点题目分析及双指针思路引入 双指针图解leetcode核心代码判断环形链表——快慢指针延伸为追及问题题目分析,图解leetcode核心代码 大家好,我是纪宁。 数据结构链表部分的面试、笔试大多都是在单链表部分,且大多题都是没有哨兵位的头结点,题目相数组通常比较难。这篇文章就给大家介绍一个单链表这里做题的常用技巧——快慢指针。 所谓快慢指针,就是有两个指针来维护单链表,通常定义为slow和fast,这两个指针遍历链表的速度不同。经典例题:链表的中间结点 给你单链表的头结点 h

2023年深圳杯数学建模C题之无人机协同避障航迹规划附思路及参考代码

一、题目平面上A、B两个无人机站分别位于半径为500m的障碍圆两边直径的延长线上,A站距离圆心1km,B站距离圆心3.5km。两架无人机分别从A、B两站同时出发,以恒定速率10m/s飞向B站和A站执行任务。飞行过程中两架无人机必须避开障碍圆、并且不得碰面(即两架无人机的连线必须保持与障碍圆处于相交状态)。无人机的转弯半径不小于30m。请建立数学模型,解决以下问题:问题1要求两架无人机中第一个到达目的站点的用时最少,给出两架无人机的飞行航迹方案。问题2要求两架无人机中第二个到达目的站点的用时最少,给出两架无人机的飞行航迹方案。问题3当B站点到圆心的距离变化(其他参数保持不变)时,问题1和问题2中

LeetCode 2810. Faulty Keyboard【模拟,双端队列,字符串】简单

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conquest。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类题目

【LeetCode每日一题】——575.分糖果

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】一【题目类别】哈希表二【题目难度】简单三【题目编号】575.分糖果四【题目描述】Alice有n枚糖,其中第i枚糖的类型为candyType[i]。Alice注意到她的体重正在增长,所以前去拜访了一位医生。医生建议Alice要少摄入糖分,只吃掉她所有糖的n/2即可(n是一个偶数)。Alice非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。给你一个长度为n的整数数组candyType,返回:Alice在仅吃掉n/2枚糖的情况下

LeetCode--HOT100题(25)

目录题目描述:141.环形链表(简单)题目接口解题思路代码PS:题目描述:141.环形链表(简单)给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。否则,返回false。LeetCode做题链接:LeetCode-环形链表示例1:输入:head=[3,2,0,-4],pos=1输出:true解释:链表中有一个环,其尾部连接到第二

数据结构刷题训练:队列实现栈

目录前言1.题目:使用队列实现栈2.思路3.分析 3.1创建栈3.2入栈3.3出栈3.4栈顶数据3.5判空和“栈”的销毁 4.题解总结前言        我们已经学习了栈和队列,也都实现了它们各自的底层接口,那么接下我们就要开始栈和队列的专项刷题训练。1.题目:使用队列实现栈题目描述: 题目链接:队列实现栈https://leetcode.cn/problems/implement-stack-using-queues/ 2.思路        队列的结构是先进先出,题目的要求是,让我们利用队列的底层接口来实现栈,不可以改变队列的底层逻辑,所以如果你的思路是逆置队列这个链表,那这个思路就被pa