E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
LeetCode刷题
LeetCode刷题
实战92:反转链表 II
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选!今天和大家聊的问题叫做反转链表II,我们先来看题面:https://leetcode-cn.com/problems/reverse-linked-list-ii/Reversealinkedlistfrompos
程序IT圈
·
2024-02-04 20:45
链表
算法
数据结构
leetcode
单链表
leetcode刷题
(剑指offer)113.路径总和Ⅱ
113.路径总和Ⅱ给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。叶子节点是指没有子节点的节点。示例1:输入:root=[5,4,8,11,null,13,4,7,2,null,null,5,1],targetSum=22输出:[[5,4,11,2],[5,8,4,5]]示例2:输入:root=[1,2,3],targetSum
花里胡哨的菜只因
·
2024-02-04 13:57
leetcode
算法
职场和发展
leetcode刷题
(剑指offer)138.随机链表的复制
138.随机链表的复制给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。
花里胡哨的菜只因
·
2024-02-04 13:57
leetcode
链表
算法
leetcode刷题
(剑指offer) 297.二叉树的序列化和反序列化
297.二叉树的序列化与反序列化序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列/反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。提示:输入输出格式与
花里胡哨的菜只因
·
2024-02-04 12:55
leetcode
linux
服务器
LeetCode1-300题汇总,希望对你有点帮助!
LeetCode刷题
实战1:在数组上遍历出花样
LeetCode刷题
实战2:用链表模拟加法
LeetCode刷题
实战3:最长不重复子串
LeetCode刷题
实战4:两个正序数组的中
程序IT圈
·
2024-02-04 09:16
二叉树
链表
lighttpd
wps
direct3d
leetcode刷题
日记之字符串转换整数。
题目描述如下图题目分析看起来好长,真的很长,但是不用担心,我们要看清规律。先说一下本人的解题思路(提交所花费的时间还是比较长的)。一开始最开始想到的就是遍历,设立符号的标志,数字的标志。如果一开始是数字,那么将数字的标志设置成1,使用sum=sum*10+num当遇到不是数字的字符直接跳出。如果一开始是符号,那么设置符号的标志为1,可能是正数也可能是负数,所以这里设置了负数的标志位。如果是负数,那
顺利毕业(研)
·
2024-02-04 08:27
leetcode
算法
python
leetcode刷题
之回文数(简答题)
题目如下解题思路这个题目相比较于之前做的求最长回文数的题目简直是简单。本人的解题思路如下:直接将字符串对半,循环比较头端和尾端的元素。如果相等,直至到达中间位置结束循环,如果不相等,那么将标志位设置为1,跳出循环。最后根据标志位判断返回True还是False。代码如下:classSolution:defisPalindrome(self,x:int)->bool:xstr=str(x)flag=0
顺利毕业(研)
·
2024-02-04 08:27
leetcode
算法
python
Leetcode刷题
笔记题解(C++):99. 恢复二叉搜索树
思路:二叉搜索树的中序遍历是递增序列,可以在中序遍历中记录两个需要交换的节点,直到遍历完毕之后,对两个节点的值进行交换即可得到正确的二叉搜索树比如中序序列为1237564(7比5大记录7为x,6比4大记录4为y,交换x与y)/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;
Demo.demo
·
2024-02-04 07:17
Leetcode算法题解
leetcode
笔记
c++
【数据结构】二叉搜索树
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《
LeetCode刷题
笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负前言本篇文章博主会对二叉搜索树的一些特性进行讲解
樊梓慕
·
2024-02-03 23:53
数据结构
数据结构
《
LeetCode刷题
》429. N 叉树的层序遍历(java篇)
题目描述:给定一个N叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由null值分隔(参见示例)。示例1:输入:root=[1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]示例2:输入:root=[1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,1
一个小霍涅
·
2024-02-03 16:09
java
leetcode
算法
leetcode
java
程序人生
LeetCode刷题
-快乐数
前言说明算法学习,日常刷题记录。题目连接快乐数题目内容编写一个算法来判断一个数n是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,也可能是无限循环,但始终变不到1。如果可以变为1,那么这个数就是快乐数。如果n是快乐数就返回true;不是,则返回false。示例1:输入:19输出:true解释:1^2+9^2=828^2+
小鲨鱼FF
·
2024-02-03 13:53
leetcode刷题
(剑指offer) 50.Pow(x, n)
50.Pow(x,n)实现pow(x,n),即计算x的整数n次幂函数(即,xn)。示例1:输入:x=2.00000,n=10输出:1024.00000示例2:输入:x=2.10000,n=3输出:9.26100示例3:输入:x=2.00000,n=-2输出:0.25000解释:2-2=1/22=1/4=0.25提示:-100.00。-104>=1;}returnres;}}
花里胡哨的菜只因
·
2024-02-03 03:05
leetcode
算法
职场和发展
leetcode刷题
(剑指offer) 946.验证栈序列
946.验证栈序列给定pushed和popped两个序列,每个序列中的值都不重复,只有当它们可能是在最初空栈上进行的推入push和弹出pop操作序列的结果时,返回true;否则,返回false。示例1:输入:pushed=[1,2,3,4,5],popped=[4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1),push(2),push(3),push(4),pop()
花里胡哨的菜只因
·
2024-02-03 03:05
leetcode
算法
职场和发展
leetcode刷题
(剑指offer) 102.二叉树的层序遍历
102.二叉树的层序遍历给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]提示:树中节点数目在范围[0,2000]内-1000>levelOrder(TreeNod
花里胡哨的菜只因
·
2024-02-03 03:05
leetcode
linux
算法
leetcode刷题
(剑指offer) 155.最小栈
155.最小栈设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。实现MinStack类:MinStack()初始化堆栈对象。voidpush(intval)将元素val推入堆栈。voidpop()删除堆栈顶部的元素。inttop()获取堆栈顶部的元素。intgetMin()获取堆栈中的最小元素。示例1:输入:["MinStack","push","push","push
花里胡哨的菜只因
·
2024-02-03 03:35
leetcode
linux
算法
leetcode刷题
(剑指offer) 509.斐波那契数
509.斐波那契数斐波那契数(通常用F(n)表示)形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>1给定n,请计算F(n)。示例1:输入:n=2输出:1解释:F(2)=F(1)+F(0)=1+0=1示例2:输入:n=3输出:2解释:F(3)=F(2)+F(1)=1+1=2示例3:输
花里胡哨的菜只因
·
2024-02-03 03:34
leetcode
算法
职场和发展
leetcode刷题
(剑指offer) 103.二叉树的锯齿形层序遍历
103.二叉树的锯齿形层序遍历给你二叉树的根节点root,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[20,9],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]提示:树中节点数目在范围[0,2000]
花里胡哨的菜只因
·
2024-02-03 03:02
leetcode
linux
windows
菜鸡的
LeetCode刷题
笔记-两个栈实现队列
文章目录前言1.基础知识1.1数据结构:栈1.1数据结构:队列2.解题思路一个栈实现插入,一个栈实现删除前言leetcode上,剑指offer,用两个栈实现队列:题目地址1.基础知识1.1数据结构:栈栈是一种数据结构,简单来说,数据像大饼一样被叠放在一起,数据只能放在栈的最上方,在取出数据的时候,只能从最上方取。栈中,添加数据的时候,就叫做入栈,取出数据的时候就叫做出栈,如下图所示:1.1数据结构
OneDAYL4
·
2024-02-02 21:31
力扣刷题-JAVA
leetcode
数据结构
java
Leetcode刷题
(三十二)
搜索插入位置(Easy)给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。示例1:输入:nums=[1,3,5,6],target=5输出:2示例2:输入:nums=[1,3,5,6],target=2输出:1示例3:输入:nums=[1,3,5,6],target=7输出:4提示:1
spoon2.0
·
2024-02-02 07:59
Leetcode刷题实录
leetcode
算法
职场和发展
「leetcode」669. 修剪二叉搜索树:【递归】【迭代】详解
本文https://github.com/youngyangyang04/leetcode-master已经收录,里面还有
leetcode刷题
攻略、各个类型经典题目刷题顺序、思维导图,可以fork到自己仓库
代码随想录
·
2024-02-01 20:59
leecode题解
算法
二叉树
面试
编程语言
C++
【
leetcode刷题
】15. 3Sum
原题链接:https://leetcode.com/problems/3sum/解题思路:首先将数组进行排序,排序过后i对整个列表进行遍历,j从i+1开始遍历,k从最后一位往前遍历。要使三个数的sum为零,即nums[i]+nums[j]+nums[k]=0相当于使nums[j]+nums[k]=-nums[i]当nums[j]+nums[k]>nums[i]时,说明需要减小nums[j]+num
maodoudou168
·
2024-02-01 05:01
【牛客刷题】约瑟夫环问题
博主:代码菌@-CSDN博客专栏:
LeetCode刷题
总结_代码菌@的博客-CSDN博客目录前言题目题解全代码展示前言题目根据题目,这是一道让我们手搓链表的一道题目,并且是一个环形链表,即最后一个节点指向头结点
代码菌@
·
2024-01-31 18:29
LeetCode
刷题总结
c++
开发语言
c语言
学习
笔记
刷题
C++ 之
LeetCode刷题
记录(二十三)
开始cpp刷题之旅。目标:执行用时击败90%以上使用C++的用户。118.杨辉三角给定一个非负整数numRows,生成「杨辉三角」的前numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例1:输入:numRows=5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例2:输入:numRows=1输出:[[1]]提示:1>generate(
icecream_cheese
·
2024-01-31 16:52
c++
数据结构
c++
leetcode
开发语言
C++ 之
LeetCode刷题
记录(二十二)
开始cpp刷题之旅。目标:执行用时击败90%以上使用C++的用户。112.路径总和给你二叉树的根节点root和一个表示目标和的整数targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和targetSum。如果存在,返回true;否则,返回false。叶子节点是指没有子节点的节点。示例1:输入:root=[5,4,8,11,null,13,4,7,2,nul
icecream_cheese
·
2024-01-31 16:51
c++
数据结构
c++
leetcode
开发语言
C++ 之
LeetCode刷题
记录(二十)
开始cpp刷题之旅。依旧是追求耗时0s的一天。110.平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root=
icecream_cheese
·
2024-01-31 16:21
c++
数据结构
c++
leetcode
开发语言
C++ 之
LeetCode刷题
记录(二十一)
开始cpp刷题之旅。目标:执行用时击败90%以上使用C++的用户。111.二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例1:输入:root=[3,9,20,null,null,15,7]输出:2示例2:输入:root=[2,null,3,null,4,null,5,null,6]输出:5解题:二叉树的
icecream_cheese
·
2024-01-31 16:21
c++
数据结构
c++
leetcode
开发语言
C++ 之
LeetCode刷题
记录(十九)
开始cpp刷题之旅。依旧是追求耗时0s的一天。108.将有序数组转换为二叉搜索树给你一个整数数组nums,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树。高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过1」的二叉树。示例1:输入:nums=[-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9
icecream_cheese
·
2024-01-31 16:48
c++
数据结构
c++
leetcode
开发语言
LC539最小时间差:两种解法:「字符串排序」&「桶排序思想:哈希计数」
前言大家好,我是新人博主:「个人主页」主要分享程序员生活、编程技术、以及每日的
LeetCode刷题
记录,欢迎大家关注我,一起学习交流,谢谢!
Chthollists
·
2024-01-31 14:13
【C++】多态
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《
LeetCode刷题
笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负目录前言1.多态的概念2.多态的定义及细节
樊梓慕
·
2024-01-31 14:08
C++
c++
开发语言
leetcode刷题
——415. 字符串相加
题目描述给定两个字符串形式的非负整数num1和num2,计算它们的和。提示:num1和num2的长度都小于5100num1和num2都只包含数字0-9num1和num2都不包含任何前导零你不能使用任何內建BigInteger库,也不能直接将输入的字符串转换为整数形式解题思路标签:字符串题目理解:模拟人工加法的过程,需要有一个变量来保存进位在计算时,从后往前相加因此,可以使用双指针,从后往前遍历两个
Nuyoahgyc
·
2024-01-31 06:55
leetcode
字符串
leetcode
【
leetcode刷题
】递归专题
递归专题一、汉诺塔问题1、题目描述2、代码3、解析二、合并链表1、题目描述2、代码3、解析4、总结三、反转链表1、题目描述2、代码3、解析四、两两交换链表中的结点1、题目描述2、代码3、解析五、Pow(x,n)1、题目解析2、代码3、解析一、汉诺塔问题1、题目描述leetcode链接2、代码classSolution{public:voidhanota(vector&A,vector&B,vect
2022horse
·
2024-01-30 19:15
C++刷题
leetcode
深度优先
算法
c++
LeetCode刷题
-有效的字母异位词
前言说明算法学习,日常刷题记录。题目连接有效的字母异位词题目内容给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。示例1:输入:s="anagram",t="nagaram"输出:true示例2:输入:s="rat",t="car"输出:false提示:1map=newHashMapentry:map.entrySe
小鲨鱼FF
·
2024-01-30 19:09
LeetCode刷题
-主要元素
前言说明算法学习,日常刷题记录。题目连接主要元素题目内容数组中占比超过一半的元素称之为主要元素。给你一个整数数组,找出其中的主要元素。若没有,返回-1。请设计时间复杂度为O(N)、空间复杂度为O(1)的解决方案。示例1:输入:[1,2,5,9,5,9,5,5,5]输出:5示例2:输入:[3,2]输出:-1示例3:输入:[2,2,1,1,1,2,2]输出:2分析过程要注意这里要求时间复杂度为O(N)
小鲨鱼FF
·
2024-01-30 06:04
LeetCode刷题
笔记:139.单词拆分
1.问题描述给你一个字符串s和一个字符串列表wordDict作为字典。请你判断是否可以利用字典中出现的单词拼接出s。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。2.解题思路维护一个boolean类型的数组boolArr判断[0,left]、[left,right]索引范围内的子串是否包含在s内3.实现代码classSolution{publicbooleanwordBre
LeBron Le
·
2024-01-30 01:38
LeetCode
Java
leetcode
算法
数据结构
「leetcode」763.划分字母区间【贪心算法】详细图解
本文https://github.com/youngyangyang04/leetcode-master已经收录,里面还有
leetcode刷题
攻略、各个类型经典题目刷题顺序、思维导图,可以fork到自己仓库
代码随想录
·
2024-01-29 20:08
leecode题解
算法
leetcode
python
字符串
【C++】模板进阶
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《
LeetCode刷题
笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负目录前言1.非类型模板参数2.
樊梓慕
·
2024-01-29 12:11
C++
c++
开发语言
【C++】继承
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《
LeetCode刷题
笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负目录前言1.继承的概念1.1定义
樊梓慕
·
2024-01-29 12:10
C++
c++
开发语言
Leetcode刷题
笔记——堆
Leetcode刷题
笔记——堆堆的相关概念1.堆的特性①必须是完全二叉树②用数组实现③任意结点的值是其子树所有结点的最大值或最小值2.使用数组构建堆的两种方式方案1:在堆中一般将数组的第一个位置(即数组下标为
code_lover_forever
·
2024-01-29 12:36
Leetcode刷题笔记
leetcode
笔记
算法
排序算法
leetcode刷题
日志-25k个一组翻转链表
纪念一下:第首次一次提交通过的困难题思路,使用map存每组翻转后的链表,链表翻转使用头插法,最后再连接整个map的链表以及剩余的小于k个的节点。其余就是注意边界等细节问题代码如下:/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){t
丶孤独的牧羊人
·
2024-01-29 08:34
算法
leetcode
链表
算法
leetcode刷题
日志-383赎金信
思路:分别用两个map记录ransomNote和magazine中的字符以及出现的次数。最后遍历记录ransomNote的map,如果ransomNote的map中出现的magazine的map中没有出现或者出现的次数小于ransomNote的map则返回false,否则返回true;classSolution{publicbooleancanConstruct(StringransomNote,
丶孤独的牧羊人
·
2024-01-29 08:33
算法
leetcode
算法
leetcode刷题
日志-14最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串“”。示例1:输入:strs=[“flower”,“flow”,“flight”]输出:“fl”示例2:输入:strs=[“dog”,“racecar”,“car”]输出:“”解释:输入不存在公共前缀。提示:1<=strs.length<=2000<=strs[i].length<=200strs[i]仅由小写英文字母组
丶孤独的牧羊人
·
2024-01-29 08:03
算法
leetcode
算法
leetcode刷题
日志-289生命游戏
思路:用一个m*n的矩阵储存当前元素周围为1的元素数量/***为了保证当前修改后的状态不会影响下一个状态的判定,设置另外的状态*如题所示,只有三种:*1.如果当前是活细胞,但是变成了死细胞,那么设置为-1*2.如果当前是活细胞,仍然是活细胞,那么不变仍为1*3.如果当前是死细胞,但是变成了活细胞,那么设置为2*那么最后遍历修改完状态之后,将-1修改回为0,2修改回为1*@paramboard*/c
丶孤独的牧羊人
·
2024-01-29 08:03
算法
leetcode
算法
leetcode刷题
日志-146LRU缓存
思路:使用hashmap储存key,vaule,使用双向链表以快速查到尾结点(待逐出的节点),链表的题一定要在纸上画一下,不然连着连着就不知道连在哪里去了classLRUCache{publicclassListNode{intkey;intvalue;ListNodenext;ListNodepre;ListNode(){}ListNode(intkey,intvalue){this.key=k
丶孤独的牧羊人
·
2024-01-29 07:30
算法
leetcode
缓存
算法
LeetCode刷题
实战477:汉明距离总和
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选!今天和大家聊的问题叫做汉明距离总和,我们先来看题面:https://leetcode-cn.com/problems/total-hamming-distance/TheHammingdistancebetween
程序IT圈
·
2024-01-29 07:50
算法
leetcode
动态规划
面试
java
Leetcode刷题
笔记题解(C++):1114. 按序打印(多线程)
思路:保证A,B,C三个线程的顺序不会变,即优先级顺序的问题A,B需要资源1,B,C需要资源2A先占用资源1和资源2,A线程完了之后释放资源1不释放资源2,然后B线程占用资源1,A线程完了之后释放资源1和资源2,这时候C线程可以占用资源2并进行classFoo{//声明2个互斥量mutexmtx1,mtx2;public:Foo(){//在类的构造函数中对2个互斥量进行加锁mtx1.lock();
Demo.demo
·
2024-01-29 03:51
Leetcode算法题解
leetcode
笔记
c++
Leetcode刷题
笔记题解(C++):1116. 打印零与奇偶数(多线程)
思路:互斥锁+条件判断奇偶classZeroEvenOdd{private:intn;//定义三个线程的互斥量mutexmtx1,mtx2,mtx3;public:ZeroEvenOdd(intn){this->n=n;//对0线程解资源mtx1.unlock();mtx2.lock();mtx3.lock();}//printNumber(x)outputs"x",wherexisaninteg
Demo.demo
·
2024-01-29 03:51
Leetcode算法题解
leetcode
笔记
c++
Leetcode刷题
笔记题解(C++):1971. 寻找图中是否存在路径
思路:1.建立图集,二维数组,path[0]里面存放的就是与0相连的节点集合2.用布尔数组来记录当前节点是否被访问过,深度优先会使用到3.遍历从起点开始能直接到达的点(即与起点相邻的点),判断那个点是否已经走过,并进入递归继续遍历与那个点相邻的点,直到抵达终点。classSolution{public:boolvisted[200000];//记录当前节点是否访问过boolvalidPath(in
Demo.demo
·
2024-01-29 03:20
Leetcode算法题解
leetcode
笔记
c++
Leetcode刷题
笔记题解(C++):1117. H2O 生成(多线程)
思路:解法二:生产者-消费者解法1.把hydrogen线程看作生产者,oxygen线程看作消费者,缓冲队列大小为2。2.hydrogen把生成的氢放入队列;oxygen线程每次从队列里消费两个氢元素。3.生产者生产两个氢元素后会因为缓冲队列满而阻塞,使用条件变量使生产者阻塞。4.消费者只有当缓冲队列满时才会从缓冲队列中消费元素,缓冲队列未满时消费者阻塞。5.当生产者生成的氢元素填满缓冲队列时,生产
Demo.demo
·
2024-01-29 03:48
Leetcode算法题解
leetcode
笔记
c++
算法学习(5):
LeetCode刷题
之滑动窗口
前言:滑动窗口算法专门优化一种连续问题场景,如找出字符串或者数组中满足xx条件的最长(或最短)的连续子串(或子数组)。滑动窗口的解题思路如下:需要用到双指针进行求解,两个指针构造一个窗口,窗口的移动是重点!右指针每次往前移动一格,每次移动会有一个新的元素进入窗口,这时条件可能就会发生变化,再根据当前条件来决定左指针是否移动,以及移动多少格。总的来说,右指针每次必然要移动一格,目的是要探索“可能性”
name_s_Jimmy
·
2024-01-28 19:50
算法
leetcode
算法
滑动窗口
详解
最长子串
LeetCode刷题
实战473:火柴拼正方形
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选!今天和大家聊的问题叫做火柴拼正方形,我们先来看题面:https://leetcode-cn.com/problems/matchsticks-to-square/Youaregivenanintegerarraym
程序IT圈
·
2024-01-28 19:16
算法
leetcode
java
面试
动态规划
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他