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
--124. 二叉树中的最大路径和
124.二叉树中的最大路径和二叉树中的路径被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中至多出现一次。该路径至少包含一个节点,且不一定经过根节点。路径和是路径中各节点值的总和。给你一个二叉树的根节点root,返回其最大路径和。dfs比较容易想到的思路就是深度优先搜索,首先应该定义一个ans遍历,存储我们遍历到的最大值,然后深搜参数传递节点指针以及ans指针,在
Rinai_R
·
2025-02-24 09:44
LeetCode
leetcode
算法
职场和发展
学习
go
LeetCode
--82. 删除排序链表中的重复元素 II
82.删除排序链表中的重复元素II给定一个已排序的链表的头head,删除原始链表中所有重复数字的节点,只留下不同的数字。返回已排序的链表。基本思路是遍历Node,当Node.Val!=Node.Next.Val时,存储当前Node作为Pre节点,如果相等,存储当前Node的Val作为PreVal,之后若满足Node.Val==PreVal,或者Node.Val==Node.Next.Val,即满足
Rinai_R
·
2025-02-24 09:44
LeetCode
leetcode
链表
算法
数据结构
golang
力扣
-贪心-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
刷题 面试题39.数组中出现次数超过一半的数字
题目要求:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。分析:使用归并排序中分治思想,先将数组中数字递归划分,然后再合并进行排序同时统计逆序数。classSolution{public:intreverseCount=0;intreversePairs(vector&nums){if(nums.empty())retur
_深海凉_
·
2025-02-24 04:38
LeetCode
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
链表
算法
归并排序
LeetCode
热题100刷题12
23.合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。与合并两个有序链表类似,但是需要在k个链表节点中找到最小的。考虑使用优先队列。classSolution{classStatusimplementsComparable{intval;ListNodenode;publicStatus(intval,ListNodenode){t
Liwan95
·
2025-02-24 00:09
LeetCode
leetcode
算法
职场和发展
python-
leetcode
-二叉树的中序遍历
94.二叉树的中序遍历-
力扣
(
LeetCode
)方法1:递归实现#Definitionforabinarytreenode.
Joyner2018
·
2025-02-23 23:37
leetcode
算法
职场和发展
Leetcode
基础算法-贪心算法
找零问题2贪心算法的特征3贪心算法正确性的证明4贪心算法三步走5举个栗子一位家长为孩子们分发饼干的问题示例解题思路贪心算法三步走的方法代码实现复杂度分析[1710.卡车上的最大单元数](https://
leetcode
.cn
machenme
·
2025-02-23 22:01
算法
leetcode
贪心算法
python
leetcode
之hot100---240搜索二维矩阵II(C++)
思路一:通过遍历主对角线上元素判断查找方向主对角线遍历:遍历主对角线上的每个元素(matrix[i][i]),其中i的范围是[0,min(m,n)-1]。如果目标值小于当前主对角线元素,说明目标值可能在当前元素的左上区域(即当前行的左侧或当前列的上方)。如果目标值大于主对角线上的所有元素,则需要在剩余的行和列中继续查找。二分查找辅助函数:binarySearchRow:在给定的行范围[0,colL
axxy2000
·
2025-02-23 22:58
算法
数据结构
LeetCode
Hot100刷题——最小路径和(动态规划)
64.最小路径和给定一个包含非负整数的mxn网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。示例2:输入:grid=[[1,2,3],[4,5,6]]输出:12提示:m==grid.lengthn==grid[
圈圈编码
·
2025-02-23 20:47
leetcode
算法
职场和发展
动态规划
java
蓝桥与
力扣
刷题(蓝桥 好数)
题目:一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位⋯⋯)上的数字是奇数,偶数位(十位、千位、十万位⋯⋯)上的数字是偶数,我们就称之为“好数”。给定一个正整数N,请计算从1到N一共有多少个好数。输入格式一个整数N。输出格式一个整数代表答案。样例输入124样例输出17样例输入22024样例输出2150样例说明对于第一个样例,24以内的好数有1、3、5、7、9、21、23,一共7个。解题思
এ旧栎
·
2025-02-23 20:46
leetcode
算法
职场和发展
学习方法
java
leetcode
205. 同构字符串-java实现
题目所属分类华为校招原题链接给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。代码案例:输入:s=“egg”,t=“add”输出:true输入:s=“foo”,t=“bar”输出:fals
依嘫_吃代码
·
2025-02-23 20:44
LeetCode
leetcode
java
算法
Leetcode
Day6 (图论I, dfs, bfs)
创建一个visited的模版#mxn大小的矩阵m=len(matrix)n=len(matrix[0])visited=[[Falsefor_inrange(n)]for_inrange(m)]foriinrange(m):forjinrange(n):blablabla#DFS模版```python200岛屿数量classSolution:defnumIslands(self,grid:List
比起村村长
·
2025-02-23 18:32
leetcode
深度优先
leetcode
图论
【Day38
LeetCode
】动态规划DP 子序列问题Ⅱ
一、动态规划DP子序列问题Ⅱ1、最长公共子序列1143确定dp数组含义,dp[i][j]表示长度为[0,i-1]的字符串text1与长度为[0,j-1]的字符串text2的最长公共子序列的长度。dp转移关系,对于当前值dp[i][j],分为text1[i-1]与text2[j-1]相同与不相同两种情况。text1[i-1]与text2[j-1]相同时,这两个字符可以作为最长公共子序列的一部分,dp
银河梦想家
·
2025-02-23 17:24
leetcode
动态规划
算法
【Day25
LeetCode
】贪心Ⅲ
一、贪心Ⅲ1、加油站134这道题直接想法是采用二重循环暴力搜索,简单粗暴但是会超时,是因为以每个点为起点最坏的情况可能都要遍历完全部的序列,有大量重复的操作,那有没有优化的地方呢?有一个结论:如果以iii位置出发最远可达jjj位置,那么在在这段区间里的任意一点出发都不可能达到比jjj位置更远的地方。反证法可以得出。可以通过这个结论避免大量重复搜索,每个位置只会经过一次。代码如下:classSolu
银河梦想家
·
2025-02-23 17:54
leetcode
算法
【Day2
LeetCode
】滑动窗口、矩阵模拟、前缀和
一、滑动窗口1、滑动窗口移动模板 对于滑动窗口算法,在解决一些子数组、子字符串问题比较常用,能够有效降低时间复杂度。该算法的关键是不断滑动,每次滑动都要维护好(更新)窗口内的状态,根据条件更新所需答案。下面给出常用的滑动窗口的伪代码模板,以字符串为例intleft=0,right=0;while(right&nums){intleft=0,right=0;//滑动窗口左、右端点ints=0,Len
银河梦想家
·
2025-02-23 17:24
leetcode
算法
【Day46
LeetCode
】图论问题 Ⅳ
一、图论问题Ⅳ1、字符串接龙采用BFS,代码如下:(判断是否在字典中需要遍历每个位置,同时遍历26中可能有点不优雅)#include#include#include#include#include#includeusingnamespacestd;intmain(){intn;cin>>n;stringsrc,des,s;cin>>src>>des;unordered_setdic;for(int
银河梦想家
·
2025-02-23 17:52
leetcode
图论
深度优先
力扣
15题,三数之和
力扣
15题原题给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!
Xzh0423
·
2025-02-23 14:58
算法
leetcode
数据结构
LeetCode
:二叉树层序遍历
102.二叉树的层序遍历思路:用队列实现层序遍历1.创建二维数组最终存放二叉树的每一层的元素2.创建队列实现每一层的遍历3.遍历3.1先存放第一层节点3.2遍历每一层的节点先确定每一层节点的个数,然后通过队列存储到一维数组中,最后插入到二维数组将每一层的元素存放到新的一维数组中3.3将新数组元素插入到二维数组中4.返回二维数组/***Definitionforabinarytreenode.*st
blog_wanghao
·
2025-02-23 13:22
C++
leetcode
leetcode
---206.反转链表
206.反转链表给你单链表的头节点head,请你反转链表,并返回反转后的链表。classSolution{public:ListNode*reverseList(ListNode*head){//1.迭代法//1->2->3->4->5ListNode*prev=nullptr;//定义1位置之前的前指针ListNode*curr=head;//定义1位置的当前指针while(curr){//循环
blog_wanghao
·
2025-02-23 13:52
C++
c语言
开发语言
后端
力扣
练习——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
算法
LeetCode
51
LeetCode
51目录题目描述示例思路分析代码段代码逐行讲解复杂度分析总结的知识点整合总结题目描述N皇后问题:将n个皇后放置在nxn的棋盘上,使得皇后彼此之间不能相互攻击(即任何两个皇后不能在同一行、
学编程的小程
·
2025-02-23 10:32
算法篇章-捷报
leetcode
n皇后
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
算法
动态规划
LeetCode
-494.目标和
给你一个非负整数数组nums和一个整数target。向数组中的每个整数前添加'+'或'-',然后串联起所有整数,可以构造一个表达式:例如,nums=[2,1],可以在2之前添加'+',在1之前添加'-',然后串联起来得到表达式"+2-1"。返回可以通过上述方法构造的、运算结果等于target的不同表达式的数目。示例1:输入:nums=[1,1,1,1,1],target=3输出:5解释:一共有5种
欧了111
·
2025-02-23 08:17
动态规划
动态规划
leetcode
算法
c语言
01背包
leetcode
题目解析 第3题 无重复字符的最长子串
给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s=“abcabcbb”输出:3解释:因为无重复字符的最长子串是“abc”,所以其长度为3。示例2:输入:s=“bbbbb”输出:1解释:因为无重复字符的最长子串是“b”,所以其长度为1。示例3:输入:s=“pwwkew”输出:3解释:因为无重复字符的最长子串是“wke”,所以其长度为3。请注意,你的答案必须是子串的长度,
大脑经常闹风暴@小猿
·
2025-02-23 01:25
leetcode
leetcode
linux
算法
回溯算法 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
开发语言
【Day45
LeetCode
】图论问题 Ⅲ
一、图论问题Ⅲ1、沉没孤岛这题只能从边界开始扩散,将靠近边界的陆地标记,表示不是孤岛,最后将孤岛沉没,将不是孤岛标记回陆地。#include#includeusingnamespacestd;voiddfs(vector>&graph,inti,intj){if(i=graph.size()||j=graph[0].size()||graph[i][j]!=1)return;graph[i][j]
银河梦想家
·
2025-02-22 15:05
图论
leetcode
深度优先
leetcode
329. 矩阵中的最长递增路径(Python3、c++)
文章目录
leetcode
329.矩阵中的最长递增路径方法:深度优先搜索DFS+记忆化思路:代码:Python3:cpp:结果:
leetcode
329.矩阵中的最长递增路径给定一个整数矩阵,找出最长递增路径的长度
AndyLiu1997
·
2025-02-22 14:52
Leetcode做题记录
leetcode
python
数据结构
算法
c++
leetcode
:926. 将字符串翻转到单调递增
926.将字符串翻转到单调递增来源:
力扣
(
LeetCode
)链接:https://
leetcode
.cn/problems/flip-string-to-monotone-increasing/如果一个二进制字符串
uncle_ll
·
2025-02-22 14:21
编程练习-Leetcode
leetcode
算法
动态规划
字符串
顺序
LeetCode
第43题_字符串相乘
LeetCode
第43题:字符串相乘题目描述给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。
@蓝莓果粒茶
·
2025-02-22 11:30
算法
leetcode
linux
算法
数据结构
c#
unity
游戏程序
跳跃游戏.
力扣
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
算法
职场和发展
2024字节总监最新总结:240道算法
LeetCode
刷题笔记(大厂面试必备)
据了解很多大厂技术面试的要求是:技术要好,计算机基础扎实,熟练掌握算法和数据结构,语言不重要,熟练度很重要。每一轮技术面试都可能考代码,不只考算法,但一定会考算法。为什么大厂都在面试算法?============这里我们引入一位美团面试官的看法美团资深工程师Windy:通过算法面试题的考察,我希望候选人不光可以展示编程能力,还可以通过详细了解题目,展示自己的沟通能力和推演能力(如何构建题目的思路)
2401_84048179
·
2025-02-22 06:50
程序员
算法
leetcode
笔记
力扣
LeetCode
: 139 单词拆分
示例1:输入:s="
leetcode
",wordDict=["leet","code"]输出:true解释:返回true因为"
leetcode
"可以由"leet"和"code"拼接成。
不想编程小谭
·
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
二叉树
公共父节点
算法训练
递归
LeetCode
--200. 岛屿数量
200.岛屿数量给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。正文创建一个visited二维布尔切片,来判断当前格子走没走过,遍历grid数组,发现’1’,就开始感染,同时岛屿总数+1,此后若再遇见’1’,并且没有被遍历过,说明该陆地没有与之
Rinai_R
·
2025-02-22 02:36
LeetCode
leetcode
linux
算法
golang
数据结构
LeetCode
:2595.奇偶位数
给你一个正整数n。用even表示在n的二进制形式(下标从0开始)中值为1的偶数下标的个数。用odd表示在n的二进制形式(下标从0开始)中值为1的奇数下标的个数。请注意,在数字的二进制表示中,位下标的顺序从右到左。返回整数数组answer,其中answer=[even,odd]。示例1:输入:n=50输出:[1,2]解释:50的二进制表示是110010。在下标1,4,5对应的值为1。示例2:输入:n
Vicky__3021
·
2025-02-22 01:06
每日一题
leetcode
算法
职场和发展
LeetCode
9. 回文数
LeetCode
9.回文数题目说明题目说明代码题目说明判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
坚果-果
·
2025-02-22 01:04
LeetCode
C++
LeetCode
上一页
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
其他