草庐IT

leedcode刷题(4)

全部标签

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

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

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

目录前言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

[C语言刷题篇]链表运用讲解

目录NC25 删除有序链表中重复的元素-I描述方法一:遍历删除(推荐使用)方法二:递归求解反转链表描述解法:迭代给大家推荐一款神器牛客网以下题型及方法牛客都有,及企业面试高频题 NC25 删除有序链表中重复的元素-I描述删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次例如:给出的链表为1→1→2,返回1→2.给出的链表为1→1→2→3→3,返回1→2→3.数据范围:链表长度满足0≤n≤100,链表中任意节点的值满足val∣≤100进阶:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n) 我们可以在题目得到这样的信息:给定一个从小到大排好序的链表删去链表

【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(6)

目录写在前面:题目:P1683入门-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述:输入格式:输出格式:输入样例:输出样例:解题思路:代码:AC!!!!!!!!!!写在最后:写在前面:怎么样才能学好一个算法?我个人认为,系统性的刷题尤为重要,所以,为了学好深度优先搜索,为了用好暴搜应对蓝桥杯,事不宜迟,我们即刻开始刷题!题目:P1683入门-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述:输入格式:第一行两个正整数 W 和 H,分别表示小路的宽度和长度。以下 H 行为一个 H×W 的字符矩阵。每一个字符代表一块瓷砖。其中,. 代表安全的砖,# 代表不安全的砖,@

【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(6)

目录写在前面:题目:P1683入门-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述:输入格式:输出格式:输入样例:输出样例:解题思路:代码:AC!!!!!!!!!!写在最后:写在前面:怎么样才能学好一个算法?我个人认为,系统性的刷题尤为重要,所以,为了学好深度优先搜索,为了用好暴搜应对蓝桥杯,事不宜迟,我们即刻开始刷题!题目:P1683入门-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述:输入格式:第一行两个正整数 W 和 H,分别表示小路的宽度和长度。以下 H 行为一个 H×W 的字符矩阵。每一个字符代表一块瓷砖。其中,. 代表安全的砖,# 代表不安全的砖,@

leetcode刷题(6)

各位朋友们大家好,今天是我的leetcode刷题系列的第六篇。这篇文章将与队列方面的知识相关,因为这些知识用C语言实现较为复杂,所以我们就只使用Java来实现。文章目录设计循环队列题目要求用例输入提示做题思路代码实现用栈实现队列题目要求用例输入提示做题思路代码实现用队列实现栈题目要求用例输入做题思路代码实现设计循环队列leetcode之设计循环队列(难度:简单)题目要求设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,

leetcode刷题(6)

各位朋友们大家好,今天是我的leetcode刷题系列的第六篇。这篇文章将与队列方面的知识相关,因为这些知识用C语言实现较为复杂,所以我们就只使用Java来实现。文章目录设计循环队列题目要求用例输入提示做题思路代码实现用栈实现队列题目要求用例输入提示做题思路代码实现用队列实现栈题目要求用例输入做题思路代码实现设计循环队列leetcode之设计循环队列(难度:简单)题目要求设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,

算法刷题Day 24 回溯算法理论基础+组合

Day24回溯算法理论基础回溯法,一般可以解决如下几种问题:组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式棋盘问题:N皇后,解数独等等回溯算法模板框架如下:voidbacktracking(参数){if(终止条件){存放结果;return;}for(选择:本层集合中元素(树中节点孩子的数量就是集合的大小)){处理节点;backtracking(路径,选择列表);//递归回溯,撤销处理结果}}组合classSolution{vectorvectorint>>

【力扣刷题 | 第十六题】

目录前言:198.打家劫舍-力扣(LeetCode)213.打家劫舍II-力扣(LeetCode) 总结:前言:我们今天继续刷动态规划的题,希望大家可以和我一起坚持下去。198.打家劫舍-力扣(LeetCode)你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。 解题思路:我们要先快速确定出这道题的解题方向,我们读题后发现:当前房间偷不偷,取决于它前一个房间有

数据结构刷题训练——链表篇(三)

目录文章目录前言1.题目一:环形链表Ⅱ1.1思路1.2分析1.3题解1.4 方法二2.题目二:复制带随机指针的链表2.1思路2.2分析2.3题解总结前言    在这个专栏博客中,我们将提供丰富的题目资源和解题思路,帮助读者逐步提高解题能力。同时,我们也将分享一些刷题技巧和经验,帮助读者更加高效地进行刷题训练。通过持之以恒的努力和不断的实践,相信读者可以在数据结构领域取得长足的进步。本期将是数据结构刷题训练链表篇的最后一期,后续我们将进入栈和堆的刷题训练。1.题目一:环形链表Ⅱ题目描述:示例: 题目链接:环形链表Ⅱ1.1思路    本题的题意是:给定一个链表,返回链表开始入环的第一个节点。 如果