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刷题
之路】面试经典150题(2)——双指针+滑动窗口+矩阵
文章目录2双指针2.1【双指针】验证回文串2.2【双指针】判断子序列2.3【双指针】两数之和II-输入有序数组2.4【双指针】盛最多水的容器2.5【双指针】三数之和3滑动窗口3.1【双指针】长度最小的子数组3.2【滑动窗口】无重复字符的最长子串3.3【哈希表】串联所有单词的子串3.4【哈希表】最小覆盖子串4矩阵4.1【哈希表】有效的数独4.2【模拟】螺旋矩阵4.3【数学】旋转图像4.4【哈希】矩阵
小天才才
·
2024-02-19 15:14
#
力扣
leetcode
面试
矩阵
算法
leetcode刷题
之或操作使用场景
文章目录概要题目问题分析小结概要今天晚上上床前刷了一个leetcode的题目,是leetcode的2103题,因为是个简单题,我只是想复习一下hash表的用法。结果反而让我看到了或操作的使用场景。题目总计有n个环,环的颜色可以是红、绿、蓝中的一种。这些环分别穿在10根编号为0到9的杆上。给你一个长度为2n的字符串rings,表示这n个环在杆上的分布。rings中每两个字符形成一个颜色位置对,用于描
Gunalaer
·
2024-02-19 10:44
leetcode
leetcode
哈希算法
算法
【C++】 为什么多继承子类重写的父类的虚函数地址不同?『 多态调用汇编剖析』
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《
LeetCode刷题
笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负前言本篇文章主要是为了解答有关多态的那篇文章那块的一个奇怪现象
樊梓慕
·
2024-02-19 10:58
C++
汇编
c++
开发语言
【算法】基础算法002之滑动窗口(一)
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《
LeetCode刷题
笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负目录前言1.长度最小的子数组滑动窗口类问题解题思路大纲
樊梓慕
·
2024-02-19 10:47
算法
算法
c++
leetcode刷题
笔记(Golang)--62. Unique Paths
62.UniquePathsArobotislocatedatthetop-leftcornerofamxngrid(marked‘Start’inthediagrambelow).Therobotcanonlymoveeitherdownorrightatanypointintime.Therobotistryingtoreachthebottom-rightcornerofthegrid(ma
圆滚滚coder
·
2024-02-15 04:32
go
算法
leetcode
LeetCode刷题
笔记--62. Unique Paths
62.UniquePathsMedium1473104FavoriteShareArobotislocatedatthetop-leftcornerofamxngrid(marked'Start'inthediagrambelow).Therobotcanonlymoveeitherdownorrightatanypointintime.Therobotistryingtoreachthebott
vivian0239
·
2024-02-15 04:02
leetcode刷题
(模拟问题)
题一:替换所有的问号1.链接1576.替换所有的问号-力扣(LeetCode)2.思路这道题,最重要的就是理解什么是连续重复的字符连续重复字符是指:相同字母连在一起多次出现先遍历这个数组,去找到?出现的位置找到后,就对该位置进行替换,替换的原则是:不和左右的字母相同即可当找到了一个符合原则的字母,就退出循环完成这个操作后,在继续往后面去找?出现的位置,继续上面操作边界问题由于这里会进行对i-1和i
Nevergive_
·
2024-02-13 22:23
算法基础
leetcode
算法
职场和发展
LeetCode刷题
之路:19. 删除链表的倒数第 N 个结点
如果帮助到您,还请点个关注吧,hahaha给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例1:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]示例2:输入:head=[1],n=1输出:[]示例3:输入:head=[1,2],n=1输出:[1]提示:链表中结点的数目为sz1ListNode:dummy=ListNode(-1
Super灬Dan
·
2024-02-13 11:17
力扣LeetCode
链表
leetcode
算法
数据结构
删除链表的倒数第
N
个结点
Leetcode刷题
69. x 的平方根
给你一个非负整数x,计算并返回x的算术平方根。由于返回类型是整数,结果只保留整数部分,小数部分将被舍去。注意:不允许使用任何内置指数函数和算符,例如pow(x,0.5)或者x**0.5。示例1:输入:x=4输出:2示例2:输入:x=8输出:2解释:8的算术平方根是2.82842...,由于返回类型是整数,小数部分将被舍去。提示:0x){r=(r+x/r)/2;}return(int)r;}//方法
Bonbon_wen
·
2024-02-13 10:31
数组
数学
二分查找
LeetCode刷题
(每日一题) --115. 不同的子序列(动态规划)
题目给定一个字符串s和一个字符串t,计算在s的子序列中t出现的个数。字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE”是“ABCDE”的一个子序列,而“AEC”不是)题目数据保证答案符合32位带符号整数范围。示例1:输入:s=“rabbbit”,t=“rabbit”输出:3示例2:输入:s=“babgbag”,t=“bag”输出:5
Hanzoe_lwh
·
2024-02-12 16:01
算法
数据结构
leetcode
python
字符串
【数据结构】【更新中】【python】
leetcode刷题
记录:热题100答案 + 每日一题(附文字说明)
题目为leetcode的热题100.仅作学习用,且题目为节选,不断更新。如果点赞过100就会制作动画一、Hash(1)给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15]
Hundred billion
·
2024-02-12 16:28
算法
数据结构
leetcode
哈希算法
python
算法
面试算法
LeetCode刷题
班—BAT面试官带你刷真题、过笔试
课程名称:《面试算法
LeetCode刷题
班》——BAT面试官带你刷真题、过笔试主讲老师:林老师BAT资深研发工程师(T7/P8级),致力于搜索引擎及其子系统的研发、迭代与优化,数据分析与挖掘领域专家,多年担任校园招聘
Dan Boneh
·
2024-02-12 16:24
高级程序设计
算法
js +
leetcode刷题
:No.26.删除排序数组中的重复项
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。解法://SolutionOne--movedistinctelementtothefrontofthearray/***@param{number[]}nums*@return{number}*/letrem
森林里的小姑娘
·
2024-02-11 21:29
leetcode_js刷题
Leetcode刷题
笔记题解(C++):面试题 08.07. 无重复字符串的排列组合
思路:因为字符之间互不相同,故使用全排列的方式去解题;字符串长度为n,将第一个字母分别与后面每一个字母进行交换,生成n种不同的全排列;再用第二个元素与后面每一个元素进行交换,生成n-1种不同的全排列……classSolution{public://存放结果vectorres;vectorpermutation(stringS){//进行深度遍历dfs(S,0);returnres;}voiddfs
Demo.demo
·
2024-02-10 02:13
Leetcode算法题解
leetcode
笔记
c++
LeetCode刷题
Python之1768. 交替合并字符串
执行结果:已完成执行用时:24ms输入"abc""pqr"输出"apbqcr"差别预期结果"apbqcr"执行代码:思路:其实这道题可以将字符串看作是两个列表中的元素相互交叉拼合成一个列表的问题。构建一个索引一次次地插入元素即可。
韬韬帅
·
2024-02-09 11:01
leetcode
算法
职场和发展
LC1220线性代数YYDS:多种解法:「状态机DP:一维 OR 二维」&「矩阵快速幂」
前言大家好,我是新人博主:「个人主页」主要分享程序员生活、编程技术、以及每日的
LeetCode刷题
记录,欢迎大家关注我,一起学习交流,谢谢!
Chthollists
·
2024-02-09 07:47
LeetCode刷题
笔记(Java实现)-- 22. 括号生成
题目难度:Medium题目要求:数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1:输入:n=3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]示例2:输入:n=1输出:[“()”]算法思路:深度优先遍历+回溯法1.lc,rc分别表示当前左括号和右括号的个数,只有当lc,rc都等于n时,才满足要求,可以把当
挽风归
·
2024-02-09 06:26
java
算法
leetcode
LeetCode刷题
记——69. x 的平方根(牛顿迭代法)
题目描述:实现intsqrt(intx)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例1:输入:4输出:2示例2:输入:8输出:2说明:8的平方根是2.82842...,由于返回类型是整数,小数部分将被舍去。一想到平方根,我第一时间想到用2分法的方法去计算,用一个while循环来控制终止条件。但是突然想到在数值分析中学到的牛顿迭代法,
JimmyGreen
·
2024-02-09 05:21
【
leetcode刷题
】13. Roman to Integer
原题:https://leetcode.com/problems/roman-to-integer/任务:将罗马数字转换为阿拉伯数字思路:观察所有罗马数字字符,大多数符合加法规则,少数含4,9符合减法规则的有一个规律便是这种数左边的数字一定小于右边的数字,如IV,如果单独对应成独立字符,分别是1和5,而判断1小于,因此把这两个字符捆绑起来对应于4.具体代码如下:classSolution(obje
maodoudou168
·
2024-02-09 01:04
Leetcode刷题
-(11~15)-Java+Python+JavaScript
算法是程序员的基本功,也是各个大厂必考察的重点,让我们一起坚持写算法题吧遇事不决,可问春风,春风不语,即是本心。我们在我们能力范围内,做好我们该做的事,然后相信一切都事最好的安排就可以啦,慢慢来,会很快,向前走,别回头。目录1.盛最多水的容器2.整数转罗马数字3.罗马数字转整数4.最长公共前缀5.三数之和1.盛最多水的容器题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台备战技术面
nuist__NJUPT
·
2024-02-08 23:39
算法与数据结构
java
leetcode
算法
python
javascript
Leetcode刷题
笔记题解(C++):2266. 统计打字方案数
classSolution{public:intcountTexts(stringpressedKeys){intm=1000000007;vectordp3={1,1,2,4};vectordp4={1,1,2,4};intn=pressedKeys.size();for(inti=4;i
Demo.demo
·
2024-02-08 17:46
Leetcode算法题解
leetcode
笔记
c++
Leetcode刷题
笔记题解(C++):64. 最小路径和
思路一:dfs深度优先搜索,然后取最小路径值,但是时间消耗较大,时间复杂度可能不满足,代码如下:classSolution{public:intres=1000000;introws,cols;intminPathSum(vector>&grid){rows=grid.size();cols=grid[0].size();dfs(grid,0,0,0);returnres;}voiddfs(vec
Demo.demo
·
2024-02-08 17:45
Leetcode算法题解
leetcode
笔记
c++
【Linux】命令行解释器脚本编写
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《
LeetCode刷题
笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负目录前言1.简单了解命令行解释器
樊梓慕
·
2024-02-08 02:00
Linux
linux
运维
服务器
LeetCode刷题
最佳时间II
LeetCode上最佳时机II,记录下解题思路其实就是计算整个数组中间每个高点和低点之间的收益。可以通过价格走势来确定,如果是一直上涨的阶段就是每天的价格比后一天低,这里要处理边界问题,就是prices[i]>=prices[i+1],用大于等于是因为如果在上涨趋势中间出现平稳的一天的情况也要计算到上涨阶段,然后再看第三天来确认是下跌还是上涨,如此下跌也是同样。这里的for循环不设置i自增,主要靠
Taec0123
·
2024-02-08 01:05
leetcode刷题
290单词规律
290.单词规律给定一种规律pattern和一个字符串str,判断str是否遵循相同的规律。这里的**遵循**指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应规律。示例1:输入:pattern="abba",str="dogcatcatdog"输出:true示例2:输入:pattern="abba",str="dogcatcatfish"输出:fa
在飞的小猪
·
2024-02-08 00:51
Leetcode刷题
笔记题解(C++):590. N 叉树的后序遍历
思路:类似于二叉树的排序,这里需要将子树进行依次递归遍历,前序遍历也与之类似/*//DefinitionforaNode.classNode{public:intval;vectorchildren;Node(){}Node(int_val){val=_val;}Node(int_val,vector_children){val=_val;children=_children;}};*/class
Demo.demo
·
2024-02-07 15:25
Leetcode算法题解
leetcode
笔记
c++
Leetcode刷题
笔记题解(C++):257. 二叉树的所有路径
思路:深度优先搜索/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*TreeNode(intx):val(x),left(nullptr),right(nullptr){}*
Demo.demo
·
2024-02-07 15:25
Leetcode算法题解
leetcode
笔记
c++
Leetcode刷题
笔记题解(C++):45. 跳跃游戏 II
classSolution{public:intjump(vector&nums){intans=0;intstart=0;intend=1;while(end=nums.size())returnans+1;}start=end;end=maxpos+1;ans++;}returnans;}};
Demo.demo
·
2024-02-07 15:25
Leetcode算法题解
leetcode
笔记
c++
leetcode刷题
Day1.704二分法和27移除元素
用C++工作两年了,发现自己从来没咋系统的刷过C++的题,来leetcodegrinding了,报了个代码随想录训练营,记录下今天学到的知识吧。1.二分法左闭右开,左开右闭两种方法,使用while循环2.移除元素暴力解法,注意数组尺寸的变化;双指针解法更省力
皮皮真的皮
·
2024-02-06 15:59
leetcode
算法
职场和发展
【Linux】文件周边002之初步理解文件管理(打开的文件)
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《
LeetCode刷题
笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负目录前言1.
樊梓慕
·
2024-02-05 23:55
Linux
linux
运维
服务器
js +
leetcode刷题
:No.292 Nim 游戏
脑筋急转弯–找规律每4.8.12…4的倍数都是输题目:Nim游戏你和你的朋友,两个人一起玩Nim游戏:桌子上有一堆石头,每次你们轮流拿掉1-3块石头。拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入:4输出:false解释:如果堆中有4块石头,那么你永远不会赢得比赛;因为无论你拿走1块、2块还是3块
森林里的小姑娘
·
2024-02-05 22:28
leetcode_js刷题
leetcode
LeetCode刷题
---二叉树的最大深度
解题思路:二叉树的最大深度是从根节点到最远叶子节点的最长路径上的节点数。对于任意一个节点,其深度为其左子树深度和右子树深度的最大值加1。最大高度是从根节点到最远叶子节点的最长路径的长度。使用先序遍历的方法来找出二叉树的最大深度,即先访问根节点,在访问左节点,之后是右节点。使用递归的方法来解决该题首先判断当前节点是否还有子节点,如果没有则结束递归,返回0如果有子节点,则先将当前节点的左节点作为参数传
肥大毛
·
2024-02-05 20:38
LeetCode刷题
JavaSE
Java学习
leetcode
java
算法
C++ 之
LeetCode刷题
记录(二十六)
开始cpp刷题之旅。目标:执行用时击败90%以上使用C++的用户。125.验证回文串如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个回文串。字母和数字都属于字母数字字符。给你一个字符串s,如果它是回文串,返回true;否则,返回false。示例1:输入:s=“Aman,aplan,acanal:Panama”输出:true解释:“a
icecream_cheese
·
2024-02-05 08:09
c++
数据结构
c++
leetcode
开发语言
C++ 之
LeetCode刷题
记录(二十七)
开始cpp刷题之旅。目标:执行用时击败90%以上使用C++的用户。136.只出现一次的数字给你一个非空整数数组nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。示例1:输入:nums=[2,2,1]输出:1示例2:输入:nums=[4,1,2,1,2]输出:4示例3:输入:nums
icecream_cheese
·
2024-02-05 08:39
c++
数据结构
c++
leetcode
开发语言
C++ 之
LeetCode刷题
记录(二十九)
开始cpp刷题之旅。目标:执行用时击败90%以上使用C++的用户。145.二叉树的后序遍历给你一棵二叉树的根节点root,返回其节点值的后序遍历。示例1:输入:root=[1,null,2,3]输出:[3,2,1]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]解题:思路,同昨天解法。classSolution{public:vectorresults;vector
icecream_cheese
·
2024-02-05 08:39
c++
数据结构
c++
leetcode
开发语言
C++ 之
LeetCode刷题
记录(二十八)
开始cpp刷题之旅。目标:执行用时击败90%以上使用C++的用户。144.二叉树的前序遍历给你二叉树的根节点root,返回它节点值的前序遍历。示例1:输入:root=[1,null,2,3]输出:[1,2,3]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]示例4:输入:root=[1,2]输出:[1,2]示例5:输入:root=[1,null,2]输出:[1,2]
icecream_cheese
·
2024-02-05 08:06
c++
数据结构
c++
leetcode
开发语言
LeetCode刷题
实战292:Nim 游戏
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选!今天和大家聊的问题叫做Nim游戏,我们先来看题面:https://leetcode-cn.com/problems/nim-game/YouareplayingthefollowingNimGamewithyour
程序IT圈
·
2024-02-05 07:19
算法导论
toolbar
consul
coursera
im
LeetCode刷题
-有序数组的平方
前言说明算法学习,日常刷题记录。题目连接有序数组的平方题目内容给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输出:
小鲨鱼FF
·
2024-02-05 05:40
Leetcode刷题
笔记题解(C++):200. 岛屿数量
思路:利用深度优先搜索的思路来查找1身边的1,并且遍历之后进行0替换防止重复dfs,代码如下所示classSolution{public:intnumIslands(vector>&grid){introw=grid.size();intcol=grid[0].size();intnumoflands=0;//从第一行开始遍历,是岛屿则进行周围深度优先搜索for(intr=0;r>&grid,in
Demo.demo
·
2024-02-05 00:48
Leetcode算法题解
leetcode
笔记
c++
Leetcode刷题
笔记题解(C++):1863. 找出所有子集的异或总和再求和
思路如下:递归思路,依次遍历数组中的数,当前数要不要选择像二叉树一样去遍历如下图所示00(选5)5(不选5)0101060606060+6+1+7+5+3+4+2=28classSolution{public:intres=0;intn=0;intsubsetXORSum(vector&nums){n=nums.size();dfs(nums,0,0);returnres;}voiddfs(vec
Demo.demo
·
2024-02-05 00:48
Leetcode算法题解
leetcode
笔记
c++
Leetcode刷题
笔记题解(C++):66. 加一
思路:分为两种情况1.没有进位,直接+完就完,比如46+1=472.有进位而且还需要扩展一位,比如99+1=100代码如下:classSolution{public:vectorplusOne(vector&digits){intjinwei=1;for(inti=digits.size()-1;i>=0;i--){inttemp=digits[i];digits[i]=(temp+jinwei)
Demo.demo
·
2024-02-05 00:17
Leetcode算法题解
c++
leetcode
数据结构
Leetcode刷题
笔记题解(C++):6. Z 字形变换
思路:根据每个字符的下标来确定它在哪一行,然后生产新的字符串即可代码如下:classSolution{public:stringconvert(strings,intnumRows){intsize=s.length();//行数取定义行数,如果字符串的长度小于行数的话则取字符串长度numRows=min(numRows,size);//如果字符串的长度为1或者行数为1时,直接输出原字符串if(n
Demo.demo
·
2024-02-05 00:17
Leetcode算法题解
字符串
c++
leetcode
算法
Leetcode刷题
笔记题解(C++):18. 四数之和
思路:在三数之和的基础上加一层循环即可,注意跳过相等的元素。代码如下,思路也可以看看我的注释:classSolution{public:vector>fourSum(vector&nums,inttarget){//先从小到大进行排序sort(nums.begin(),nums.end());//存放结果vector>result;//数组大小intsize=nums.size();//选择第一个
Demo.demo
·
2024-02-05 00:17
Leetcode算法题解
c++
算法
leetcode
数据结构
Leetcode刷题
笔记题解(C++):LCR 016.无重复字符的最长子串
思路:利用滑动窗口的思想,用起始位置startindex和curlength来记录这个滑动窗口的大小,并且得出最长距离;利用哈希表来判断在滑动窗口中是否存在重复字符,代码如下所示:classSolution{public:intlengthOfLongestSubstring(strings){//如果为空字符串,则返回0if(s.length()==0)return0;intmaxlength=
Demo.demo
·
2024-02-05 00:17
Leetcode算法题解
leetcode
笔记
c++
Leetcode刷题
笔记题解(C++):51. N皇后
思路:递归回溯符合规则:左上方(斜),上方(列),右上方(斜)都没有放置Q从第一行找位置,在第一行中遍历找位置,如果符合要求则放置皇后进入到下一行或者不放皇后看下一个位置如果最后行数=要求的n,则得到结果,大概思路图:(4皇后为例)看图大概能看懂的吧,几乎把每一种结果都试了,最后行数=n的话则为结果,剪枝的条件是符合上面那个规则代码如下:classSolution{public:vector>so
Demo.demo
·
2024-02-05 00:47
剪枝
leetcode
c++
N皇后问题
递归回溯
Leetcode刷题
笔记题解(C++):94. 二叉树的中序遍历
思路:利用栈做辅助来写算法,具体流程可见下图:帮助理解classSolution{public:vectorinorderTraversal(TreeNode*root){vectorres;stacks;while(root||!s.empty()){if(root){s.push(root);root=root->left;}else{root=s.top();res.push_back(ro
Demo.demo
·
2024-02-05 00:46
Leetcode算法题解
c++
算法
leetcode
二叉树
栈
Leetcode刷题
笔记题解(C++):1306. 跳跃游戏 III
利用BFS的思路,注意标记已经走过的下标,还有两种跳跃的情况向前走或者向后走。代码如下:classSolution{public:boolcanReach(vector&arr,intstart){if(arr[start]==0)returntrue;queueq;vectorused(arr.size());q.push(start);used[start]=true;while(!q.emp
Demo.demo
·
2024-02-05 00:46
Leetcode算法题解
bfs
c++
leetcode
数据结构
算法
Leetcode刷题
笔记题解(C++):141. 环形链表
解决思路:常规做法就是利用辅助数据来记录遍历的节点,如果当前遍历的节点在辅助空间中存在即存在循环链表,否则没有存在循环链表。但是需要空间比较大。这里思路是用两个节点不同速度去遍历,一个走两步,一个走一步,在遍历不为空的情况下如果某次相遇则是回环链表。代码如下:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*n
Demo.demo
·
2024-02-05 00:16
Leetcode算法题解
c++
leetcode
链表回环
Leetcode刷题
笔记题解(C++):739. 每日温度
###解题思路:利用栈来解决。注意的是栈中压入的下标的值首先压入0如果栈不为空且要压入的下标值i有T[i]>T[栈顶元素]则res[栈顶元素]=i-栈顶元素否则继续压栈,直到压完T中所有的数据为止。还要注意的是,开始对res全部赋值为0,这就对栈中的元素没弹出来的默认为0;这里附一下图吧,好理解一点。代码如下:classSolution{public:vectordailyTemperatures
Demo.demo
·
2024-02-05 00:16
Leetcode算法题解
c++
栈算法
leetcode
Leetcode刷题
笔记题解(C++):36. 有效的数独
思路一:暴力破解,两个二维数组记录行、列对应的数字出现的次数,比如rows[i][index]表示的数字index在i行出现的次数,三维数组记录每个块中对应数字出现的次数,比如boxes[i/3][j/3][index]表示的数字index在[i/3][j/3]个块中出现的次数,然后进行判断可以得出结果,超过1则不符合代码如下:classSolution{public:boolisValidSud
Demo.demo
·
2024-02-05 00:45
Leetcode算法题解
leetcode
笔记
c++
上一页
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
其他