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
1130. 叶值的最小代价生成树
目录一、题目1、题目描述2、输入输出2.1输入2.2输出3、原题链接二、解题报告1、思路分析2、复杂度3、代码详解一、题目1、题目描述给你一个正整数数组arr,考虑所有满足以下条件的二叉树:每个节点都有0个或是2个子节点。数组arr中的值与树的中序遍历中每个叶节点的值一一对应。每个非叶节点的值等于其左子树和右子树中叶节点的最大值的乘积。在所有这样的二叉树中,返回每个非叶节点的值的最小可能总和。这个
EQUINOX1
·
2024-08-27 11:35
OJ刷题解题报告
leetcode
算法
动态规划
前缀和+哈希表,
LeetCode
1915. 最美子字符串的数目
一、题目1、题目描述如果某个字符串中至多一个字母出现奇数次,则称其为最美字符串。例如,"ccjjc"和"abab"都是最美字符串,但"ab"不是。给你一个字符串word,该字符串由前十个小写英文字母组成('a'到'j')。请你返回word中最美非空子字符串的数目。如果同样的子字符串在word中出现多次,那么应当对每次出现分别计数。子字符串是字符串中的一个连续字符序列。2、接口描述python3
EQUINOX1
·
2024-08-27 11:34
OJ刷题解题报告
散列表
leetcode
数据结构
leetcode
509:斐波那契数
斐波那契数斐波那契数(通常用F(n)表示)形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>1给定n,请计算F(n)。publicintfib(intn){if(n<=1){returnn;}int[]dp=newint[n];dp[0]=1;dp[1]=1;for(inti=2;i
0cfjg0
·
2024-08-27 11:31
leetcode
java
LeetCode
热题 HOT 100 第47天:“最长连续序列”
继续刷
LeetCode
热题HOT100的题目,并且在博客更新我的solutions。在csdn博客中我会尽量用文字解释清楚,相关Java代码大家可以前往我的个人博客jinhuaiyu.com中查看。
ultimate小锦
·
2024-08-27 10:01
leetcode
算法
hashmap
hashset
Python |
Leetcode
Python题解之第377题组合总和IV
题目:题解:classSolution:defcombinationSum4(self,nums:List[int],target:int)->int:dp=[1]+[0]*targetforiinrange(1,target+1):fornuminnums:ifnum<=i:dp[i]+=dp[i-num]returndp[target]
Mopes__
·
2024-08-27 10:59
分享
Python
Leetcode
题解
Python |
Leetcode
Python题解之第375题猜数字大小II
题目:题解:classSolution:defgetMoneyAmount(self,n:int)->int:f=[[0]*(n+1)for_inrange(n+1)]foriinrange(n-1,0,-1):forjinrange(i+1,n+1):f[i][j]=j+f[i][j-1]forkinrange(i,j):f[i][j]=min(f[i][j],k+max(f[i][k-1],f
Mopes__
·
2024-08-27 10:58
分享
Python
Leetcode
题解
Python |
Leetcode
Python题解之第200题岛屿数量
题目:题解:classSolution:defdfs(self,grid,r,c):grid[r][c]=0nr,nc=len(grid),len(grid[0])forx,yin[(r-1,c),(r+1,c),(r,c-1),(r,c+1)]:if0int:nr=len(grid)ifnr==0:return0nc=len(grid[0])num_islands=0forrinrange(nr
Mopes__
·
2024-08-27 10:28
分享
Python
Leetcode
题解
C++ |
Leetcode
C++题解之第312题戳气球
题目:题解:classSolution{public:intmaxCoins(vector&nums){intn=nums.size();vector>rec(n+2,vector(n+2));vectorval(n+2);val[0]=val[n+1]=1;for(inti=1;i=0;i--){for(intj=i+2;j<=n+1;j++){for(intk=i+1;k
Ddddddd_158
·
2024-08-27 10:58
经验分享
C++
Leetcode
题解
C++ |
Leetcode
C++题解之第179题最大数
题目:题解:classSolution{public:stringlargestNumber(vector&nums){sort(nums.begin(),nums.end(),[](constint&x,constint&y){returnto_string(x)+to_string(y)>to_string(y)+to_string(x);});if(nums[0]==0){return"0"
Ddddddd_158
·
2024-08-27 10:58
经验分享
C++
Leetcode
题解
C++ |
Leetcode
C++题解之第65题有效数字
题目:题解:classSolution{public:enumState{STATE_INITIAL,STATE_INT_SIGN,STATE_INTEGER,STATE_POINT,STATE_POINT_WITHOUT_INT,STATE_FRACTION,STATE_EXP,STATE_EXP_SIGN,STATE_EXP_NUMBER,STATE_END};enumCharType{CHA
Ddddddd_158
·
2024-08-27 10:27
经验分享
C++
Leetcode
题解
C++ |
Leetcode
C++题解之第367题有效的完全平方数
题目:题解:classSolution{public:boolisPerfectSquare(intnum){doublex0=num;while(true){doublex1=(x0+num/x0)/2;if(x0-x1<1e-6){break;}x0=x1;}intx=(int)x0;returnx*x==num;}};
Ddddddd_158
·
2024-08-27 10:27
经验分享
C++
Leetcode
题解
数据结构:用栈实现队列(232)
LeetCode
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()从队列的开头移除并返回元素intpeek()返回队列开头的元素booleanempty()如果队列为空,返回true;否则,返回false说明:你只能使用标准的栈操作——也就是只有pushtotop,
LG.YDX
·
2024-08-27 09:23
数据结构
java
开发语言
栈+贪心,
LeetCode
2434. 使用机器人打印字典序最小的字符串
一、题目1、题目描述给你一个字符串s和一个机器人,机器人当前有一个空字符串t。执行以下操作之一,直到s和t都变成空字符串:删除字符串s的第一个字符,并将该字符给机器人。机器人把这个字符添加到t的尾部。删除字符串t的最后一个字符,并将该字符给机器人。机器人将该字符写到纸上。请你返回纸上能写出的字典序最小的字符串。2、接口描述python3 classSolution:defrobotWithStr
EQUINOX1
·
2024-08-27 08:13
OJ刷题解题报告
leetcode
算法
职场和发展
leetcode
贪心算法-跳跃游戏II
IDEA动态规划(从后向前)时间复杂度O(n2)O(n^2)O(n2)classSolution{publicintjump(int[]nums){nums[nums.length-1]=0;for(inti=nums.length-2;i>=0;i--){inttemp=nums[i];nums[i]=Integer.MAX_VALUE-1;for(intj=1;j+i=nums.length-
nth2000
·
2024-08-27 07:08
贪心算法
leetcode
动态规划
17.
LeetCode
刷题For Swift·680.回文字符串 Valid Palindrome II (Easy)
1、原题Input:"abca"Output:TrueExplanation:Youcoulddeletethecharacter'c'.题目描述:可以删除一个字符,判断是否能构成回文字符串。2、思路使用双指针方法,3、代码classSolution{funcvalidPalindrome(_s:String)->Bool{//字符串转数组letstrArr=Array(s)//双指针vari=0
富城
·
2024-08-27 06:26
leetcode
-合并两个有序数组
一、题目描述给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m+n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。示例
Jo哥
·
2024-08-27 04:51
数据结构与算法
leetcode
算法
数据结构
LeetCode
-478. 在圆内随机生成点
题目描述在圆内随机生成点给定圆的半径和圆心的x、y坐标,写一个在圆中产生均匀随机点的函数randPoint。说明:输入值和输出值都将是浮点数。圆的半径和圆心的x、y坐标将作为参数传递给类的构造函数。圆周上的点也认为是在圆中。randPoint返回一个包含随机点的x坐标和y坐标的大小为2的数组。示例输入:["Solution","randPoint","randPoint","randPoint"]
一只可爱的柠檬树
·
2024-08-26 21:29
leetcode
打卡#day52-58 1143. 最长公共子序列、1035. 不相交的线、53. 最大子数组和、392. 判断子序列
1143.最长公共子序列classSolution{public:intlongestCommonSubsequence(stringtext1,stringtext2){vector>dp(text1.size()+1,vector(text2.size()+1,0));for(inti=1;i&A,vector&B){vector>dp(A.size()+1,vector(B.size()+1
小吴同学(wlx)
·
2024-08-26 19:44
leetcode
算法
leetcode
打卡#day59 115. 不同的子序列、583. 两个字符串的删除操作、 72. 编辑距离
115.不同的子序列classSolution{public:intnumDistinct(strings,stringt){vector>dp(s.size()+1,vector(t.size()+1));for(inti=0;i>dp(word1.size()+1,vector(word2.size()+1));for(inti=0;i>dp(word1.size()+1,vector(wor
小吴同学(wlx)
·
2024-08-26 19:44
leetcode
算法
leetcode
73. 矩阵置零,简单模拟
leetcode
73.矩阵置零给定一个mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。
Cider瞳
·
2024-08-26 15:53
力扣刷题
矩阵
线性代数
数据结构
算法
c++
leetcode
面试
[
LeetCode
][Python]485. 最大连续1的个数
[
LeetCode
][Python]485.最大连续1的个数给定一个二进制数组,计算其中最大连续1的个数。
bluescorpio
·
2024-08-26 11:55
数据结构与算法——滑动窗口
目录引言核心思想使用场景解题步骤经典例题1、无重复字符的最长子串(
LeetCode
3)2、找到字符串中所有字母异位词(
LeetCode
438)引言定义:滑动窗口是指通过左右两个指针(或索引)来标记窗口的左右边界
passion更好
·
2024-08-26 06:26
C++
数据结构
数据结构
算法
数据结构与算法——动态规划
目录引言最优子结构重叠子问题打家劫舍(
LeetCode
198题)经典例题1.爬楼梯(
LeetCode
70题)2.斐波那契数列(
LeetCode
126题)3.最长公共子序列(
LeetCode
95题)引言动态规划
passion更好
·
2024-08-26 06:54
数据结构
C++
动态规划
算法
数据结构与算法之
leetcode
78. 子集
78.子集/***@param{number[]}nums*@return{number[][]}*/varsubsets=function(nums){letans=[],path=[],n=nums.lengthletdfs=(i)=>{if(i==n){ans.push(JSON.parse(JSON.stringify(path)))return}dfs(i+1)åpath.push(nu
Three_ST
·
2024-08-26 04:13
leetcode
JavaScript
数据结构
leetcode
算法
职场和发展
数据结构与算法之
leetcode
17. 电话号码的字母组合
17.电话号码的字母组合/***@param{string}digits*@return{string[]}*/varletterCombinations=function(digits){letmap=['','','abc','def','ghi','jkl','mno','pqrs','tuv','wxyz']letlen=digits.lengthif(len==0){return[]}l
Three_ST
·
2024-08-26 04:43
leetcode
笔记
JavaScript
leetcode
算法
职场和发展
链表
32 - I. 从上到下打印二叉树
comments:truedifficulty:中等edit_url:https://github.com/doocs/
leetcode
/edit/main/lcof/%E9%9D%A2%E8%AF%95%
常某某的好奇心
·
2024-08-26 03:36
算法
数据结构: 用队列实现栈(
力扣
225)
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop和empty)。实现MyStack类:voidpush(intx)将元素x压入栈顶。intpop()移除并返回栈顶元素。inttop()返回栈顶元素。booleanempty()如果栈是空的,返回true;否则,返回false。注意:你只能使用队列的标准操作——也就是pushtoback、pee
LG.YDX
·
2024-08-26 00:18
数据结构
leetcode
java
数据结构:189(轮转数组)
leetcode
(OJ)
给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例2:输入:nums=[-1,-100,3,99],k=2输出:[3,99,-1,-10
LG.YDX
·
2024-08-26 00:18
数据结构
算法
leetcode
leetcode
-面试题55 - I. 二叉树的深度
//来源:
力扣
(
LeetCode
)//链接:https://
leetcode
-cn.com/p
qianzi_wei
·
2024-08-26 00:46
leetcode
算法
leetcode
二叉树
力扣
热题100 - 链表:两数相加
本题也是主要考察编码能力,大家加油!题目描述:题号:2给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0开头。解题思路:思路一:两链表数值以及进位的数字相加新链表的值为链表1的值+链表2的值+进位值的加和除以10,最后如果有进位还有将其追加在新链
菲英的学习笔记
·
2024-08-25 23:39
力扣热题100
leetcode
链表
算法
c++
go
数据结构
【数据结构-前缀异或和】
力扣
1177. 构建回文串检测
给你一个字符串s,请你对s的子串进行检测。每次检测,待检子串都可以表示为queries[i]=[left,right,k]。我们可以重新排列子串s[left],…,s[right],并从中选择最多k项替换成任何小写英文字母。如果在上述检测过程中,子串可以变成回文形式的字符串,那么检测结果为true,否则结果为false。返回答案数组answer[],其中answer[i]是第i个待检子串queri
sjsjs11
·
2024-08-25 22:31
精选
数据结构
数据结构
leetcode
力扣
题/图论/腐烂的橘子
腐烂的橘子
力扣
原题在给定的mxn网格grid中,每个单元格可以有以下三个值之一:值0代表空单元格;值1代表新鲜橘子;值2代表腐烂的橘子。每分钟,腐烂的橘子周围4个方向上相邻的新鲜橘子都会腐烂。
温温温B
·
2024-08-25 21:26
leetcode
图论
算法
javascript
力扣
题/图论/课程表
课程表
力扣
原题你这个学期必须选修numCourses门课程,记为0到numCourses-1。在选修某些课程之前需要一些先修课程。
温温温B
·
2024-08-25 20:52
leetcode
图论
算法
javascript
职场和发展
代码随想录算法训练营第22天-
leetcode
-二叉树08:669. 修剪二叉搜索树;108.将有序数组转换为二叉搜索树;538.把二叉搜索树转换为累加树
669.修剪二叉搜索树
力扣
题目链接(opensnewwindow)给定一个二叉搜索树,同时给定最小边界L和最大边界R。通过修剪二叉搜索树,使得所有节点的值在[L,R]中(R>=L)。
树懒爱沙发
·
2024-08-25 19:16
算法
leetcode
职场和发展
leetcode
刷题(20)——538. 把二叉搜索树转换为累加树
一、题目给定一个二叉搜索树(BinarySearchTree),把它转换成为累加树(GreaterTree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:二、思路——递归累加树,是将每个节点的值改为原来的节点值加上所有大于它的节点值之和。而二叉搜索树的中序遍历的结果是从小到大排列的,比如,给定一个二叉搜索树如下:这棵树中序遍历的结果为2,3,4,5,6,7,8由中序遍历结果我们
TheManba
·
2024-08-25 19:46
leetcode刷题
二叉树
leetcode
LeetCode
——538. 把二叉搜索树转换为累加树(反中序遍历)
题目描述:解题思路:这道题首先要搞懂二叉搜索树是什么。二叉搜索树是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左、右子树也分别为二叉搜索树。可见,二叉搜索树是一个有序的树,这道题其实如果改成数组很好理解,[2,5,13]让你通过累加变成[20,18,13],变成二叉树之后,我们
悲伤的小霉
·
2024-08-25 19:14
LeetCode
二叉树
数据结构
算法
LeetCode
538.把二叉搜索树转换为累加树 C++递归 (简单)
538.将二叉搜索树转为累加树递归C++实现题目描述解题思路——反序中序遍历代码复杂度反思总结题目描述给定一个二叉搜索树(BinarySearchTree),把它转换成为累加树(GreaterTree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:解题思路——反序中序遍历二叉搜索树:右节点的值比根节点大,左节点的值比根节点小。需要依此遍历每个节点并且修改它的值。关键:按照从大到
EllenWang99
·
2024-08-25 19:14
LeetCode
leetcode
cpp
二叉树
递归法
数据结构
栈和队列——4.前k个高频元素
力扣
题目链接给定一个非空的整数数组,返回其中出现频率前k高的元素。
plutomty
·
2024-08-25 19:13
算法
二叉树——18.删除二叉搜索树中的节点
力扣
题目链接给定一个二叉搜索树的根节点root和一个值key,删除二叉搜索树中的key对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。
plutomty
·
2024-08-25 19:13
算法
栈和队列——3.滑动窗口最大值
力扣
题目链接给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。
plutomty
·
2024-08-25 19:43
算法
【
LeetCode
题库】2356. 每位教师所教授的科目种类的数量
文章目录原题题解解题笔记我是一名立志把细节说清楚的博主,欢迎【关注】~原创不易,如果有帮助,记得【点赞】【收藏】哦~❥(^_-)~如有错误、疑惑,欢迎【评论】指正探讨,我会尽可能第一时间回复的,谢谢支持原题表:Teacher+-------------+------+|ColumnName|Type|+-------------+------+|teacher_id|int||subject_id
我梦Leo
·
2024-08-25 19:42
LeetCode题库
leetcode
算法
mysql
sql
数据库
LeetCode
——538. 把二叉搜索树转换为累加树
题目描述:给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(GreaterSumTree),使每个节点node的新值等于原树中大于或等于node.val的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左右子树也必须是二叉搜索树。示例1:输入:[4,1,6,0,2,5,7,null,null,null,3,
讲个笑话哈哈哈
·
2024-08-25 18:41
JAVA
leetcode
二叉树
二叉树——21.把二叉搜索树转换为累加树
力扣
题目链接给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(GreaterSumTree),使每个节点node的新值等于原树中大于或等于node.val的值之和。
plutomty
·
2024-08-25 18:10
算法
leetcode
题解 hot100 系列 146.LRU 缓存算法
146.LRU缓存算法题目:请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intvalue)如果关键字key已经存在,则变更其数据值value;如果
城南顾北
·
2024-08-25 18:10
#
hot100
前端
算法
leetcode
【Hot100】
LeetCode
—124. 二叉树中的最大路径和
目录1-思路dfs深搜实现2-实现⭐124.二叉树中的最大路径和——题解思路3-ACM实现题目连接:124.二叉树中的最大路径和1-思路理解dfs的返回值,为什么只能是root.val+Math.max(left,right)因为遍历的过程中只能从上到下,选择一条路径dfs深搜实现①终止条件:如果root==null则返回0②递归公式sum=root.val+left+right;res=Math
山脚ice
·
2024-08-25 18:39
#
Hot100
leetcode
算法
职场和发展
LRU缓存算法
1.LRU算法
leetcode
146题要求:请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。函数get和put必须以O(
猿系人生
·
2024-08-25 18:39
缓存
数据结构
算法
leetcode
hot 100-146. LRU缓存机制
146.LRU缓存机制运用你所掌握的数据结构,设计和实现一个LRU(最近最少使用)缓存机制。它应该支持以下操作:获取数据get和写入数据put。获取数据get(key)-如果关键字(key)存在于缓存中,则获取关键字的值(总是正数),否则返回-1。写入数据put(key,value)-如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入
Lucky小黄人
·
2024-08-25 18:39
链表
java
redis
缓存
数据结构
LeetCode
Hot100 146.LRU缓存
classLRUCache{public:intcapacity;intsize;unordered_map::iterator>>hash;listq;//backasbottom,frontastopLRUCache(intcapacity){this->capacity=capacity;}intget(intkey){if(hash.find(key)==hash.end())return
doglc
·
2024-08-25 18:08
LeetCode每日刷题记录
#
LeetCode中等题
leetcode
哈希算法
代码随想录算法训练营day45:动态规划part12:115.不同的子序列;583. 两个字符串的删除操作;72. 编辑距离
目录115.不同的子序列分析:583.两个字符串的删除操作72.编辑距离115.不同的子序列
力扣
题目链接(opensnewwindow)给定一个字符串s和一个字符串t,计算在s的子序列中t出现的个数。
树懒爱沙发
·
2024-08-25 16:57
算法
动态规划
leetcode
数据结构
代码随想录算法训练营第43天:动态规划part10:子序列问题
300.最长递增子序列
力扣
题目链接(opensnewwindow)给你一个整数数组nums,找到其中最长严格递增子序列的长度。
树懒爱沙发
·
2024-08-25 16:27
算法
动态规划
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他