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
力扣经典面试题
力扣
-贪心-45 跳跃游戏
思路利用上一题思路先判断每一个点是否可以到达终点,构建bool数组,然后从0开始更新当前可以到达的最大值,更新这个最大值,知道这个最大值大于下标范围即可,每更新一次相当于跳跃一次,需要注意的是更新条件从当前点可以跳到的最大范围往前剋是遍历该点满足可以跳到重点当前的比记录跳的范围更远记录的还没跳到终点(因为当前记录已经可以跳到重点,就不需要更新了,直接跳到终点就可以)代码classSolution{
夏末秋也凉
·
2025-02-24 09:14
力扣
#
贪心
leetcode
游戏
算法
力扣
-贪心-53 最大子数组和
思路先把每一个值都加到当前集合中,记录当前的和,直到当前记录和小于0了,再重置改记录,再次尝试累加代码classSolution{public:intmaxSubArray(vector&nums){intres=INT32_MIN;intcurSum=0;for(inti=0;ires)res=curSum;if(curSum<=0)curSum=0;}returnres;}};
夏末秋也凉
·
2025-02-24 09:44
力扣
#
贪心
leetcode
算法
数据结构
通俗易懂的KMP算法(C++)
最近按照代码随想录中整理的顺序刷
力扣
题,刷到后第一次了解到KMP算法,看了B站视频,觉得卡哥这集讲的有些精炼,于是自己通过代码理解了一下后,用比较通俗形象的方式,向大家介绍一下KMP算法。
想学到东西的W
·
2025-02-24 06:54
算法
算法
c++
LeetCode 3254. 长度为 K 的子数组的能量值 I
-
力扣
(LeetCode)题目给你一个长度为n的整数数组nums和一个正整数k。一个数组的能量值定义为:如果所有元素都是依次连续且上升的,那么能量值为最大的元素。否则为-1。
万事只有开头
·
2025-02-24 03:01
leetcode
算法
职场和发展
力扣
hot100——排序链表(常见方法,归并排序)
解题思路:分解(Divide):将待排序的列表递归地分成两半,直到每个子列表只包含一个元素(此时每个子列表都是有序的)。解决(Conquer):递归地对每个子列表进行排序。由于每个子列表在分解过程中最终只包含一个元素,因此它们自然是有序的。排序的过程实际上是合并的过程。合并(Combine):将两个有序的子列表合并成一个有序的列表。步骤递归分解:如果列表的长度为1或0,则直接返回该列表(因为它已经
01_
·
2025-02-24 00:09
力扣hot100
leetcode
链表
算法
归并排序
python-leetcode-二叉树的中序遍历
94.二叉树的中序遍历-
力扣
(LeetCode)方法1:递归实现#Definitionforabinarytreenode.
Joyner2018
·
2025-02-23 23:37
leetcode
算法
职场和发展
蓝桥与
力扣
刷题(蓝桥 好数)
题目:一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位⋯⋯)上的数字是奇数,偶数位(十位、千位、十万位⋯⋯)上的数字是偶数,我们就称之为“好数”。给定一个正整数N,请计算从1到N一共有多少个好数。输入格式一个整数N。输出格式一个整数代表答案。样例输入124样例输出17样例输入22024样例输出2150样例说明对于第一个样例,24以内的好数有1、3、5、7、9、21、23,一共7个。解题思
এ旧栎
·
2025-02-23 20:46
leetcode
算法
职场和发展
学习方法
java
力扣
15题,三数之和
力扣
15题原题给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!
Xzh0423
·
2025-02-23 14:58
算法
leetcode
数据结构
力扣
练习——38 分割回文串
38分割回文串1.问题描述给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案的数量。示例:输入:“aab”输出:2说明:可能的分割方案有:[[“aa”,“b”],[“a”,“a”,“b”]]2.输入说明输入一个字符串s,长度小于等于200.3.输出说明输出一个整数4.范例输入aab输出25.代码#include#include#include#includeusi
qq_43403657
·
2025-02-23 12:50
回文串
分割方案
递归
动态规划
字符串处理
代码随想录训练营第二十三天| 39. 组合总和 40.组合总和II 131.分割回文串
39.组合总和题目链接/文章讲解:代码随想录视频讲解:带你学透回溯算法-组合总和(对应「leetcode」
力扣
题目:39.组合总和)|回溯法精讲!
chengooooooo
·
2025-02-23 12:17
算法
【练习】【子集NO.1】
力扣
78. 子集
示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输出:[[],[0]]来源:
力扣
78.子集思路
柠石榴
·
2025-02-23 12:46
输入输出
回溯
leetcode
算法
c++
回溯
力扣
131题:分割回文串的 Java 实现
引言
力扣
(LeetCode)是一个在线编程平台,提供了大量的编程题目供开发者练习。第131题“分割回文串”是一个有趣的字符串处理问题,要求将一个字符串分割成尽可能多的回文子串。
杰哥的编程世界
·
2025-02-23 12:14
java算法
leetcode
java
算法
1.python实现二分查找(
力扣
刷题)
题目
力扣
704题二分查找
力扣
35题搜索插入位置
力扣
34题在排序数组中查找元素的第一个和最后一个位置
力扣
69题x的平方根
力扣
367题有效的完全平方数1.
力扣
704题二分查找题目给定一个n个元素有序的(升序
踏雪1352
·
2025-02-23 09:22
leetcode
算法
python
力扣
27题 移除元素(python实现)
力扣
27题移除元素题目给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素。元素的顺序可能发生改变。然后返回nums中与val不同的元素的数量。
踏雪1352
·
2025-02-23 09:22
leetcode
python
算法
回溯算法 15. N皇后(难)
回溯算法15.N皇后(难)51.N皇后-
力扣
(LeetCode)代码随想录难度6-困难题目理解:n皇后问题,其实可以看成:按行顺序依次摆放皇后,每一行只能放一个皇后,那么只要保证每一行新放置的皇后与之前放置的皇后之间
Mophead_Zarathustra
·
2025-02-22 21:19
Mophead的小白刷题笔记
leetcode
python
代码随想录
回溯算法
贪心算法 -- 121. 买卖股票的最佳时机
力扣
给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。
沿着路走到底
·
2025-02-22 20:40
leetcode
动态规划
股票交易
最大利润
算法
编程
贪心算法-
力扣
-122. 买卖股票的最佳时机 II
题目链接给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润。示例1:输入:prices=[7,1,5,3,6,4]输出:7解释:在第2天(股票价格=1)的时候买入,在第3天(股票价格=5)的时候卖出,这笔交易所能获得利润=5-1=4。随后
dailinqing1984
·
2025-02-22 20:09
Python
算法
leetcode
贪心算法
算法
Java数据结构与算法(买卖股票的最佳时机二贪心算法)
-
力扣
(LeetCode)贪心算法原理参考:Java数据结构与算法(盛水的容器贪心算法)-CSDN博客实现原理1.定义最大利润res和下标前值pre。
盘门
·
2025-02-22 20:39
java数据结构与算法实战
java
开发语言
leetcode:926. 将字符串翻转到单调递增
926.将字符串翻转到单调递增来源:
力扣
(LeetCode)链接:https://leetcode.cn/problems/flip-string-to-monotone-increasing/如果一个二进制字符串
uncle_ll
·
2025-02-22 14:21
编程练习-Leetcode
leetcode
算法
动态规划
字符串
顺序
跳跃游戏.
力扣
55
一、题目描述二、思路根据题意,数组中每个位置可到达的最远位置为i+nums[i],用for循环遍历数组,记录从起始位置开始体跳跃可到达的最远位置并更新,当可到达的最远位置小于数组的下标时,说明最后一个位置不可达三、代码实现classSolution{publicbooleancanJump(int[]nums){//可到达的最远位置intreach=0;intn=nums.length;for(i
crazyK.
·
2025-02-22 08:06
力扣
算法
leetcode
java
力扣
55题:跳跃游戏
力扣
55题:跳跃游戏题目描述给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。
瀛台夜雪
·
2025-02-22 08:05
力扣刷题
leetcode
游戏
算法
力扣
-回溯-39 组合总和
思路和之前几道组合的题目差不多,不同的是允许元素重复,所以要求单层递归里的for循环从当前的index开始即可代码classSolution{public:intcurSum;vectorpath;vector>result;voidbacktracking(vector&candidates,intcurIndex,inttarget){if(curSum>target)return;if(cu
夏末秋也凉
·
2025-02-22 08:34
力扣
#
回溯
leetcode
算法
数据结构
组合总和II
力扣
--40
目录题目思路代码题目给定一个候选人编号的集合candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。注意:解集不能包含重复的组合。示例1:输入:candidates= [10,1,2,7,6,1,5],target= 8,输出:[[1,1,6],[1,2,5],[1,7],[2,6]]示
嘻嘻哈哈樱桃
·
2025-02-22 07:00
算法
回溯算法
leetcode
算法
职场和发展
力扣
LeetCode: 139 单词拆分
题目:给你一个字符串s和一个字符串列表wordDict作为字典。如果可以利用字典中出现的一个或多个单词拼接出s则返回true。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。示例1:输入:s="leetcode",wordDict=["leet","code"]输出:true解释:返回true因为"leetcode"可以由"leet"和"code"拼接成。示例2:输入:s="
不想编程小谭
·
2025-02-22 02:38
LeetCode
leetcode
算法
动态规划
c++
leetcode:236. 二叉树的最近公共祖先
236.二叉树的最近公共祖先来源:
力扣
(LeetCode)链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/
uncle_ll
·
2025-02-22 02:37
编程练习-Leetcode
leetcode
二叉树
公共父节点
算法训练
递归
力扣
_876. 链表的中间结点
力扣
_876.链表的中间结点给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
seabirdssss
·
2025-02-22 00:23
算法
leetcode
链表
算法
java
数据结构
算法的解题模式Ⅳ
力扣
相关题目:257.二叉树的所有路径230.二
槑呆呆05
·
2025-02-21 22:37
算法的解题模式
算法
栈和队列-滑动窗口最大值
代码随想录-刷题笔记239.滑动窗口最大值-
力扣
(LeetCode)内容:这道题给我的收获真的很大,主要是学会了一个新的数据结构。单调队列:单调-从名字就可以知道,要么单调递增,要么单调递减。
Hasno.
·
2025-02-21 21:58
算法
leetcode
数据结构
【数据结构-并查集】
力扣
1202. 交换字符串中的元素
给你一个字符串s,以及该字符串中的一些「索引对」数组pairs,其中pairs[i]=[a,b]表示字符串中的两个索引(编号从0开始)。你可以任意多次交换在pairs中任意一对索引处的字符。返回在经过若干次交换后,s可以变成的按字典序最小的字符串。示例1:输入:s=“dcab”,pairs=[[0,3],[1,2]]输出:“bacd”解释:交换s[0]和s[3],s=“bcad”交换s[1]和s[
hlc@
·
2025-02-21 20:23
精选
数据结构
数据结构
leetcode
并查集
【练习】【回溯:一个集合 元素可重复】
力扣
39. 组合总和
题目组合总和给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。示例1:输入:can
柠石榴
·
2025-02-21 18:27
回溯
输入输出
leetcode
算法
回溯
【练习】【回溯:不同集合】
力扣
17. 电话号码的字母组合
题目电话号码的字母组合给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。示例1:输入:digits=“23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例2:输入:digits=“”输出:[]示例3:输入:digits=“2”输出:[“a”,
柠石榴
·
2025-02-21 16:44
回溯
输入输出
leetcode
算法
c++
回溯
力扣
hot100——反转,环形链表 + 快慢指针总结
1.反转链表解法思路:将链表划分为俩部分;将后半部分反转,然后与前部分对比,如果相同则为回文,否则不是/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(nullptr){}*Li
01_
·
2025-02-21 13:49
力扣hot100
leetcode
链表
算法
快慢指针
力扣
刷题打卡第一天——基础——知识积累
第一题交替合并字符串题目描述:给你两个字符串word1和word2。请你从word1开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回合并后的字符串。代码如下:/***@param{string}word1*@param{string}word2*@return{string}*///先将字符串变成小写的——>判断字符串长度(需符合条
Helen_star_L
·
2025-02-21 13:43
leetcode
前端
javascript
零钱兑换 II-
力扣
(LeetCode)
【算法题】518.零钱兑换II-
力扣
(LeetCode)1.题目下方是
力扣
官方题目的地址518.零钱兑换II给你一个整数数组coins表示不同面额的硬币,另给一个整数amount表示总金额。
杰九
·
2025-02-21 09:46
算法
leetcode
python
1-刷
力扣
问题记录
25.1.191.size()和.length()有什么区别2.result.push_back({nums[i],nums[left],nums[right]});为什么用大括号?使用大括号{}是C++11引入的初始化列表语法,它允许我们在构造或初始化对象时直接传入一组值。大括号的使用在许多情况下都能让代码更加简洁和直观。{nums[i],nums[left],nums[right]}是一个初始
leaf_leaves_leaf
·
2025-02-20 21:22
算法
数据结构
【练习】【二分】
力扣
热题100 34. 在排序数组中查找元素的第一个和最后一个位置
题目给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。示例1:输入:nums=[5,7,7,8,8,10],target=8输出:[3,4]示例2:输入:nums=[5,7,7,8,8,10],target=6输出
柠石榴
·
2025-02-20 16:36
输入输出
力扣
hot100
leetcode
算法
c++
二分
力扣
解题思路——183.从不订购的客户
题目:查找从不订购的客户Customers表:+-------------+---------+|ColumnName|Type|+-------------+---------+|id|int||name|varchar|+-------------+---------+在SQL中,id是该表的主键。该表的每一行都表示客户的ID和名称。Orders表:+-------------+------+
编程小彭
·
2025-02-20 08:27
leetcode
数据库
算法
力扣
hot100 —— 11.盛最多的水
题目描述:给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。解法思路://木桶效应,短板决定水的上限,抽象问题一下,其实就是找出一对数字,俩者距离*较小数的值就是他们的水量//采用双指针,俩端开始,逐渐计算水量进行比较;//
01_
·
2025-02-20 03:43
leetcode
算法
盛最多的水
力扣
hot100——找到字符串中的所有字母异位词
给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。解法思路:1.//判断字符相等,其实就是给定一个定长的窗口去滑动查找子串,为了便于判断将p与窗口中的子串进行排序,如果相等则是//将窗口的左边界加入这种解法会有时间复杂度超标的问题吗,但是这个思路也是一种不错的解法2.本题维护长为n的子串s的每种字母的出现次数。如果s的每种字母的出现次数,和p的每种字
01_
·
2025-02-20 03:43
leetcode
算法
找到字符串中的所有字母异位词
hot
100
力扣
-二叉树-530 二叉搜索树的最小绝对差
思路类似于数组中计算最小绝对差,利用中序遍历是有序的,计算两两元素差代码classSolution{public:intminNUM=INT_MAX;TreeNode*pre=NULL;intgetMinimumDifference(TreeNode*root){if(root==nullptr)returnminNUM;getMinimumDifference(root->left);if(pr
夏末秋也凉
·
2025-02-20 03:42
力扣
#
二叉树
leetcode
算法
数据结构
力扣
-二叉树-501 二叉搜索树的众数
思路二叉搜索树的特性就是中序遍历有序,所以思考时可以先按照有序数组思考代码classSolution{public:vectorresult;TreeNode*pre=nullptr;intcount=1;intmaxCount=0;voidtravesl(TreeNode*node){if(node==nullptr)return;travesl(node->left);if(pre!=null
夏末秋也凉
·
2025-02-20 03:42
力扣
#
二叉树
leetcode
算法
力扣
-二叉树-235 二叉搜索树的最近公共祖先
思路重点抓住二叉搜索树的特点是有序,然后思考清楚搜索到的p和q情况classSolution{public:TreeNode*lowestCommonAncestor(TreeNode*root,TreeNode*p,TreeNode*q){if(root==NULL)returnNULL;if(root->valval&&root->valval){TreeNode*right=lowestCo
夏末秋也凉
·
2025-02-20 03:42
力扣
#
二叉树
leetcode
算法
力扣
-二叉树-450 删除二叉搜索树中的节点
思路和向二叉搜索树插入节点一样,都可以利用递归完成不同节点的连接代码classSolution{public:TreeNode*deleteNode(TreeNode*root,intkey){if(root==nullptr)returnnullptr;if(root->val==key){if(root->left==nullptr&&root->right==nullptr)returnnu
夏末秋也凉
·
2025-02-20 03:42
力扣
#
二叉树
leetcode
算法
数据结构
力扣
-二叉树-98 验证二叉搜索树
思路第一个特性,二叉搜索树的中序遍历是有序的,第二个特性,利用两个指针判断大小关系代码classSolution{public:TreeNode*pre=NULL;boolisValidBST(TreeNode*root){if(root==NULL)returntrue;boolleft=isValidBST(root->left);if(pre!=NULL&&pre->val>=root->v
夏末秋也凉
·
2025-02-20 03:41
力扣
#
二叉树
leetcode
算法
《剑指 Offer》专项突破版 - 面试题 56 : 二叉搜索树中两节点的值之和(详解 C++ 实现的两种方法)
目录前言一、利用哈希表二、应用双指针前言题目链接:LCR056.两数之和IV-输入二叉搜索树-
力扣
(LeetCode)题目:给定一棵二叉搜索树和一个值k,请判断该二叉搜索树中是否存在值之和等于k的两个节点
melonyzzZ
·
2025-02-20 03:11
数据结构
算法
c++
开发语言
数据结构
面试
力扣
hot100——42.接雨水
42.接雨水给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下,可以接6个单位的雨水(蓝色部分表示雨水)。示例2:输入:height=[4,2,0,3,2,5]输出:9提示:n==
码凡
·
2025-02-20 03:40
leetcode
算法
力扣
树——满二叉树、完全二叉树、平衡二叉树、二叉搜索树、最优二叉树、红黑树
1.满二叉树深度为h,那节点数为:2^h-12.完全二叉树深度为h,那么前h-1层都是满的,只有第h层不满,而且是从左向右紧密排列的。3.平衡二叉树1.它可以是1棵空树;2.首先它是二叉搜索树,而且它的左右子树的深度之差绝对值不能超过1;4.二叉搜索树1.它可以是空树2.若不空,那么它中序遍历(左中右)必须是严格递增序列,不存在相同的元素;5.最优二叉树给定N个权值作为N个叶子节点,构造一棵二叉树
丢丢diu丢
·
2025-02-20 03:40
力扣刷题思考
java基础面试
数据结构
算法
深度学习
力扣
hot 100 —— 15.三数之和
题目描述:给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。解法思路://定位一个+双指针遍历查找//选定一个,然后在剩余中查找满足条件,为了好判断移动方向,可对数组进行排序//当三者和
01_
·
2025-02-20 03:37
leetcode
算法
三数之和
力扣
刷题Day2
389.找不同题目:给定两个字符串s和t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在t中被添加的字母。示例1:输入:s="abcd",t="abcde"输出:"e"解释:'e'是那个被添加的字母。示例2:输入:s="",t="y"输出:"y"提示:0#includeusingnamespacestd;classSolution{public:charfin
RAN_PAND
·
2025-02-20 01:27
leetcode
算法
数据结构
c++
从0开始到华五复试 字符串
344.反转字符串-
力扣
(LeetCode)字符串本质就是数组,采用双指针的方法,一个在前一个在后即可,不断交换。
DitanZ
·
2025-02-19 20:44
算法
数据结构
上一页
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
其他