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动态规划专题
【NO.13】
LeetCode
经典150题-238. 除自身以外数组的乘积
文章目录【NO.13】
LeetCode
经典150题-238.除自身以外数组的乘积解题方法一:左右乘积列表方法二:只用一个乘积列表【NO.13】
LeetCode
经典150题-238.除自身以外数组的乘积238
悬浮海
·
2025-07-08 18:24
#
LeetCode
经典150题
leetcode
算法
除自身以外数组的乘积
LeetCode
3261.统计满足K约束的子字符串数量2
给你一个二进制字符串s和一个整数k。另给你一个二维整数数组queries,其中queries[i]=[li,ri]。如果一个二进制字符串满足以下任一条件,则认为该字符串满足k约束:字符串中0的数量最多为k。字符串中1的数量最多为k。返回一个整数数组answer,其中answer[i]表示s[li…ri]中满足k约束的子字符串的数量。示例1:输入:s=“0001111”,k=2,queries=[[
吃着火锅x唱着歌
·
2025-07-08 18:24
LeetCode
leetcode
算法
数据结构
LeetCode
hot 100—除自身以外数组的乘积
题目给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据保证数组nums之中任意元素的全部前缀元素和后缀的乘积都在32位整数范围内。请不要使用除法,且在O(n)时间复杂度内完成此题。示例示例1:输入:nums=[1,2,3,4]输出:[24,12,8,6]示例2:输入:nums=[-1,1,0,-3,3]输出:[0,0,
rigidwill666
·
2025-07-08 18:23
leetcode
leetcode
算法
数据结构
leetcode
hot100【
LeetCode
238.除自身以外数组的乘积】java实现
LeetCode
238.除自身以外数组的乘积题目描述给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。
DataCrafter
·
2025-07-08 17:52
LeetCode
Hot100
leetcode
java
算法
leetcode
(Hot100)——数组篇
1、两数之和本题使用哈希法,用一个哈希Map保存数组的值以及对应下标,代码如下:classSolution{publicint[]twoSum(int[]nums,inttarget){HashMapmap=newHashMap>groupAnagrams(String[]strs){Map>map=newHashMaplist=map.getOrDefault(key,newArrayList(
·
2025-07-08 17:52
Leetcode
238. 除自身以外数组的乘积(HOT100)
链接代码:classSolution{public:vectorproductExceptSelf(vector&nums){intn=nums.size();vectorp(n,1);for(inti=1;i=0;--i){p[i]*=s;s*=nums[i];}returnp;}};题解:从左往右,先求解一下前缀积,不包含自身。此时,第一个元素已经被初始化为1,所以i从1开始而不是0。从右往左
·
2025-07-08 17:51
LeetCode
Hot 100 矩阵置零
给定一个mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。示例1:输入:matrix=[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例2:输入:matrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]提示:m==ma
源
·
2025-07-08 17:49
leetcode
矩阵
算法
LeetCode
Hot 100 螺旋矩阵
给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例2:输入:matrix=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]提示:m==matrix.lengthn
·
2025-07-08 17:49
LeetCode
Hot 100 轮转数组
给定一个整数数组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
·
2025-07-08 17:19
三种方法详解最长回文子串问题
文章目录题目描述方法一:
动态规划
状态转移方程:状态转移公式:代码实现:使用滚动数组优化空间方法二:中心扩展法核心思想算法步骤代码实现复杂度分析方法三:马拉车算法算法思路代码实现复杂度分析三种方法对比回文子串是字符串处理中的经典问题
·
2025-07-08 10:33
leetcode
67.二进制求和
publicclassSolution{publicStringaddBinary(Stringa,Stringb){StringBuilderresult=newStringBuilder();inti=a.length()-1;intj=b.length()-1;intcarry=0;while(i>=0||j>=0||carry!=0){intsum=carry;if(i>=0){sum+=
ゞ 正在缓冲99%…
·
2025-07-08 10:02
算法
leetcode
位运算
力扣第 70 题:爬楼梯问题(Climbing Stairs)
二、解题思路这个问题可以用递归+记忆化的方式解决,本质是一个
动态规划
问题。1.状态定义定义dp[i]dp[i]dp[i]表示爬到第iii级台阶的方法数。2.状态转移方程
·
2025-07-08 10:32
【
LeetCode
热题 100】54. 螺旋矩阵
Problem:54.螺旋矩阵题目:给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。文章目录整体思路完整代码时空复杂度时间复杂度:O(M*N)空间复杂度:O(1)(不考虑输出列表)整体思路这段代码旨在解决一个经典的矩阵问题:螺旋矩阵(SpiralMatrix)。问题要求按照顺时针螺旋的顺序,返回矩阵中的所有元素。该算法采用了一种非常直观的“路径模拟”策略。它模拟一个
xumistore
·
2025-07-08 10:31
LeetCode
leetcode
矩阵
算法
java
力扣第70题 爬楼梯 c++
动态规划
基础题
题目70.爬楼梯简单相关标签记忆化搜索数学
动态规划
假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?
·
2025-07-08 09:01
算法45:
动态规划
专练(力扣70: 爬楼梯 力扣746:使用最小花费爬楼梯)
力扣70题:爬楼梯假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶。1.1阶+1阶+1阶2.1阶+2阶3.2阶+1阶分析:1.如果有1个楼梯,那只能走1步登顶。1中方法2.如果有2个楼梯。a.我们可以一次走一
适合java程序员的算法
·
2025-07-08 09:00
算法
算法
动态规划
leetcode
【
LeetCode
刷题记录】简单篇-70-爬楼梯
【题目描述】假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?【测试用例】示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶1.1阶+1阶+1阶2.1阶+2阶3.2阶+1阶【思路分析】这道题也算是一道很经典的题,读大学的时候学过,但不记得是在什么课上学过。用了
呜呼哈嘿嚯
·
2025-07-08 09:28
LeetCode刷题记录
leetcode
算法
c++
c语言
LeetCode
Hot 100 缺失的第一个正数
给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。示例1:输入:nums=[1,2,0]输出:3解释:范围[1,2]中的数字都在数组中。示例2:输入:nums=[3,4,-1,1]输出:2解释:1在数组中,但2没有。示例3:输入:nums=[7,8,9,11,12]输出:1解释:最小的正数1没有出现。提示:1&n
源
·
2025-07-08 08:20
leetcode
算法
数据结构
【
LeetCode
热题 100】234. 回文链表——快慢指针+反转链表
Problem:234.回文链表题目:给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。文章目录整体思路完整代码时空复杂度时间复杂度:O(N)空间复杂度:O(1)整体思路这段代码旨在解决一个经典的链表问题:回文链表(PalindromeLinkedList)。问题要求判断一个单链表是否是回文结构,即从前向后读和从后向前读的序列是否相同。例如1
xumistore
·
2025-07-08 05:21
LeetCode
leetcode
链表
算法
java
【
LeetCode
热题 100】48. 旋转图像——转置+水平翻转
Problem:48.旋转图像题目:给定一个n×n的二维矩阵matrix表示一个图像。请你将图像顺时针旋转90度。你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。文章目录整体思路完整代码时空复杂度时间复杂度:O(N^2)空间复杂度:O(1)整体思路这段代码旨在解决一个经典的矩阵问题:旋转图像(RotateImage)。问题要求将一个NxN的二维矩阵顺时针
xumistore
·
2025-07-08 04:48
LeetCode
leetcode
算法
职场和发展
java
【一起来学AI大模型】算法核心:数组/哈希表/树/排序/
动态规划
(
LeetCode
精练)
以下是五大核心算法的重点解析和
LeetCode
经典题解,包含最优解法和模板代码:一、数组操作(双指针/滑动窗口)核心思想:通过索引指针高效遍历与操作数组1.移动零(No.283)defmoveZeroes
运器123
·
2025-07-08 00:16
AI大模型
python
开发语言
人工智能
AI
AI编程
算法
散列表
暑假算法日记第三天
目标:刷完灵神
专题
训练算法题单阶段目标:【算法题单】滑动窗口与双指针
LeetCode
题目:3439.重新安排会议得到最多空余时间I2134.最少交换次数来组合所有的1II1297.子串的最大出现次数2653
·
2025-07-07 23:39
Leetcode
刷题java之520(检测大写字母)
执行结果:通过显示详情添加备注执行用时:1ms,在所有Java提交中击败了98.19%的用户内存消耗:36.8MB,在所有Java提交中击败了57.52%的用户通过测试用例:550/550
qq_42342642
·
2025-07-07 19:41
leetcode
java
算法
Python常考面试题汇总(附答案)
本文只涉及Python相关的面试题,关于网络、MySQL、算法等其他面试必考题会另外开
专题
整理。不是单纯的提供答案,抵制八股文!!更希望通过代码演示,原理探究等来深入讲解某一知识点,做到融会贯通。
TT图图
·
2025-07-07 17:25
面试
职场和发展
LeetCode
1004. 最大连续1的个数 III
题目分析本题要求在最多翻转K个0的条件下,找到二进制数组中最长的连续1子数组。翻转操作实际上是将0视为可用资源,用来扩展连续1的区间。解题思路滑动窗口(双指针):核心思想:维护一个窗口,确保窗口内最多包含K个0(即最多可翻转K次)右指针:遍历数组,扩展窗口左指针:当窗口内0的数量超过K时,收缩窗口直到满足条件关键操作:遇到0时增加计数器当0的数量超过K时,移动左指针直到移除一个0始终记录窗口的最大
Zedthm
·
2025-07-07 15:43
算法
java
leetcode
【力扣(
LeetCode
)】数据挖掘面试题0013:1264. 页面推荐(泛化后,基于MySQL题解)
文章大纲一、题目要求:二、模拟数据构建三、题解参考方案朋友关系列表:Friendship+---------------+---------+|ColumnName|Type|+---------------+---------+|user1_id|int||user2_id|int|+---------------+---------+(user1_id,user2_id)是这张表具有唯一值的列
言析数智
·
2025-07-07 13:30
数据挖掘常见面试题
leetcode
数据挖掘
mysql
笔试
笔试题
《力扣》链表 | 19. 删除链表的倒数第 N 个结点 C++题解
19.删除链表的倒数第N个结点-力扣(
LeetCode
)给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。
一只一只
·
2025-07-07 10:36
算法
数据结构
链表
c++
leetcode
区间
动态规划
目录一.区间dp简介二.模板代码三.典型例题(1)P4170[CQOI2007]涂色-洛谷三.总结一.区间dp简介区间dp:就是对于区间的一种
动态规划
,它将问题划分为若干个子区间,并通过定义状态和状态转移方程来求解每个子区间的最优解
Luther coder
·
2025-07-07 04:27
动态规划
算法
贪心算法 greedy algorithm
贪心算法和
动态规划
都常用于解决优化问题。它们之间存在一些相似之处,比如都依赖最优子结构性质,但工作原理不同。
动态规划
会根据之前阶段的所有决策来考虑当前决策,并使用过去
yuebo_zhao
·
2025-07-07 02:45
算法
c++
数据结构
代码随想录算法训练营第十一天
LeetCode
.150逆波兰表达式求值题目链接逆波兰表达式求值题解classSolution{publicintevalRPN(String[]tokens){Stackcstack=newStackset
天天开心(∩_∩)
·
2025-07-06 22:50
算法
(包括高精度,排序,枚举,二分,搜索,
动态规划
等)
【归纳】C++入门算法模版总结(包括高精度,排序,枚举,二分,搜索,
动态规划
等)(超级详细!!!)0.前言1.高精度1.1.单独实现1.1.1.高精度加法1.1.2.高精度
·
2025-07-06 22:45
LeetCode
-最长回文子串
classSolution:deflongestPalindrome(self,s:str)->str:n=len(s)#创建一个二维数组dp,用于记录回文子串的信息dp=[[False]*nfor_inrange(n)]start=0#记录最长回文子串的起始位置max_len=1#记录最长回文子串的长度#初始化单个字符和相邻两个字符是回文子串的情况foriinrange(n):dp[i][i]=
踏实写代码,认真搞学术的小研
·
2025-07-06 20:33
leetcode
(
LeetCode
)Java 求解最长回文子串
文章目录一、题解二、常规理解三、简单理解四、总结一、题解给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。示例1:输入:“babad”输出:“bab”注意:“aba”也是一个有效答案。示例2:输入:“cbbd”输出:“bb”二、常规理解思路就是创建一个二维数组,boolean[][]flag,flag[i][j]表示字符串第i到j是否是回文。边界:字符串长度为1是为TRU
南淮北安
·
2025-07-06 20:03
冲刺大厂之
Java
刷题笔记
leetcode
字符串
动态规划
java
算法
最长回文子串-
leetCode
-005
针对这个问题,共有四种解法,分别是暴力法,中心拓展法,
动态规划
,Manacher算法解法一:暴力法思路:枚举所有可能的子串,然后判断每个子串是否是回文串,最后找出最长的回文子串。
·
2025-07-06 20:03
LeetCode
-最长回文子串(005)
一.题目描述给你一个字符串s,找到s中最长的回文子串。二.示例示例1:输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案。示例2:输入:s="cbbd"输出:"bb"三.提示:1=0;--i){//从当前字符的下一个字符开始,向后遍历for(intj=i+1;j>1);}}//返回最长回文子串returns.substring(start,start+mx);}//辅助函
·
2025-07-06 20:02
LeetCode
-5.最长回文子串 C++实现
一.问题描述给你一个字符串s,找到s中最长的回文子串(如果字符串向前和向后读都相同,则它满足回文性。)。示例1:输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案。示例2:输入:s="cbbd"输出:"bb"提示:1usingnamespacestd;classSolution{public:stringlongestPalindrome(strings){intn=s.
·
2025-07-06 20:31
2025年- H93-Lc201-- 64.最小路径和(多维
动态规划
)--Java版
1.题目描述2.思路(1)dp含义:dp[i][j]以i-1的word1字符串和j-1的word2字符串的最少操作次数。(2)递推公式:1)word1[i-1]和word2[j-1]相等的情况此时的字符串是不需要操作,i-2和j-2的操作次数与(i-1和j-1)的操作次数相等dp[i][j]=dp[i-1][j-1]2)word1[i-1]和word2[i-1]不相等的情况删除和添加是互逆的,操作
豆包版:每天进步一点点
·
2025-07-06 20:29
java
leetcode
动态规划
java
算法
[贪心]BM95 分糖果问题
一、题目牛客题目链接:分糖果问题_牛客题霸_牛客网LeeCode题目链接:135.分发糖果-力扣(
LeetCode
)题目描述:一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下:1.每个孩子不管得分多少
lanbing
·
2025-07-06 20:28
多语言LeeCode的题解
算法
数据结构
leetcode
算法理论知识
算法理论知识排序二分查找冒泡排序插入排序选择排序快速排序堆排序希尔排序归并排序基数排序
动态规划
排序二分查找start=0end=len(list)mid=(start+end)//2冒泡排序每次都是相邻元素两两比较并交换位置
Victor Zhong
·
2025-07-06 19:53
AI
框架
算法
最长公共子序列(多维
动态规划
)--Java版
1.题目描述2.思路每个格子dp[i][j]都表示:从字符串开头开始,分别取前i个字符和前j个字符之间的最优子结构(最长公共子序列的长度)最终的dp[m][n]表示的就是:“从头到尾整个text1和text2的最长公共子序列长度”。答:不需要,因为我们构造dp[i][j]的时候,就是按“从左上到右下”的顺序,逐步比较两个字符串的公共子序列长度。3.代码实现classSolution{publici
·
2025-07-06 19:20
动态规划
、背包问题入门
目录1、
动态规划
定义2、数塔问题题目描述:思路:代码实现:3、最长有序子序列问题描述:代码实现:
动态规划
基本思想特点4、背包问题①01背包问题空间复杂度优化②完全背包③多重背包二进制优化④二维费用背包1
2303_Alpha
·
2025-07-06 18:38
动态规划
代理模式
算法
笔记
c语言
力扣网编程121题:买卖股票的最佳时机之
动态规划
(简单)
一.简介前一篇文章使用贪心算法实现了力扣网上121题:买卖股票的最佳时机,文章如下:力扣网编程189题:买卖股票的最佳时机之贪心算法(简单)-CSDN博客本文使用
动态规划
实现该题目。
魏劭
·
2025-07-06 17:30
逻辑编程题
C语言
leetcode
动态规划
算法
[力扣]第55题- 跳跃游戏[
动态规划
]
[力扣]第55题-跳跃游戏[
动态规划
]本题的难度较低,需要考虑的情况比较少。
卡瓦博格-
·
2025-07-06 17:28
力扣记录
leetcode
算法
职场和发展
LeetCode
-196. 删除重复的电子邮箱
题目描述表:Person+-------------+---------+|ColumnName|Type|+-------------+---------+|id|int||email|varchar|+-------------+---------+id是该表的主键列(具有唯一值的列)。该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。编写解决方案删除所有重复的电子邮件,只保留一个具有最
做一个AC梦
·
2025-07-06 10:29
LeetCode-数据库
leetcode
数据库
sql
mysql
【
动态规划
】一次性整理子序列问题题型系列,八个例题实战详细解析 (包含我自己精心整理的
动态规划
解题思路)
前言最近刷了子序列系列的题型,一共八个力扣题,这里对子序列问题进行一个简单的总结,全是
动态规划
的解法,当然里边有些题选有更优的解法。
ngioig
·
2025-07-06 09:27
动态规划
leetcode
算法
职场和发展
后端
3333. 找到初始输入字符串 II
3333.找到初始输入字符串II题目链接:3333.找到初始输入字符串II代码如下://参考链接:https://
leetcode
.cn/problems/find-the-original-typed-string-ii
咔咔咔的
·
2025-07-06 09:25
leetcode
c++
DAY08 算法训练营| 字符串part01
344.反转字符串-力扣(
LeetCode
)字符串和数组算法题目思路类似反转字符串是经典双指针法(回忆反转链表,有序数组的平方,三数之和,四数之和)classSolution{public:voidreverseString
天空的孩子
·
2025-07-06 05:59
算法
LeetCode
643.子数组最大平均数 I
题目:给你一个由n个元素组成的整数数组nums和一个整数k。请你找出平均数最大且长度为k的连续子数组,并输出该最大平均数。任何误差小于10-5的答案都将被视为正确答案。思路:定长滑动窗口入更新出代码:classSolution{publicdoublefindMaxAverage(int[]nums,intk){intn=nums.length;doubleans=Integer.MIN_VALU
·
2025-07-06 01:37
leetcode
643. 子数组最大平均数 I
子数组最大平均数I给定n个整数,找出平均数最大且长度为k的连续子数组,并输出该最大平均数。示例1:输入:[1,12,-5,-6,50,3],k=4输出:12.75解释:最大平均数(12-5-6+50)/4=51/4=12.75注意:1result){result=cursum;}}return(double)result/k;}}
�粉红豹护体
·
2025-07-06 01:05
leetcode
LeetCode
1456. 定长子串中元音的最大数目
题目分析本题要求在给定字符串中找到长度为k的子串,使其包含的元音字母(a,e,i,o,u)数量最多。这是一个典型的固定窗口大小的滑动窗口问题。解题思路初始化元音数量:先计算字符串前k个字符中的元音数量作为初始值滑动窗口处理:从第k个字符开始向右移动窗口:加入当前字符:如果是元音,计数加1移除窗口左侧字符:如果是元音,计数减1每次移动后更新最大元音数量元音判断优化:使用逻辑或判断字符是否为元音(简单
·
2025-07-06 01:34
leetcode
1394. 找出数组中的幸运数 简单
在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。给你一个整数数组arr,请你从中找出并返回一个幸运数。如果数组中存在多个幸运数,只需返回最大的那个。如果数组中不含幸运数,则返回-1。示例1:输入:arr=[2,2,3,4]输出:2解释:数组中唯一的幸运数是2,因为数值2的出现频次也是2。示例2:输入:arr=[1,2,2,3,3,3]输出:3解释:1、2以及3
圣保罗的大教堂
·
2025-07-06 01:34
leetcode
哈希
leetcode
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他