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
[28]找出字符串中第一个匹配项的下标(KMP版本)
思路:一开始我使用暴力过的,但是感觉还是不完美,想学习一下KMP的写法,所以这篇笔记就来了,首先KMP算法就要先维护一个最长相等前后缀的一个数组(统称前缀表),那么这个数组为什么能找出相等字符串呢?因为这个前缀表是维护了当前模式串最长前后缀,一旦出现不相等的情况,就可以根据不相等的位置的前一个位置的下标的值,就是需要回退的次数。我的理解就是先想KMP算法的时间复杂度,是O(n+m),那么就是一个串
月亮被咬碎成星星
·
2025-04-20 09:25
新坑
刷题
leetcode
算法
LeetCode
459. 重复的子字符串 KMP解法
使用KMP的next来解自己写的代码,比较粗糙classSolution{public:boolrepeatedSubstringPattern(strings){if(s.size()==1)returnfalse;//创建next表int*next=newint[s.size()];intj=-1;next[0]=j;for(inti=1;i-1&&s[j+1]!=s[i])j=next[j]
ky0uma
·
2025-04-20 09:24
题
leetcode
算法
c++
python-
leetcode
-分割等和子集
416.分割等和子集-力扣(
LeetCode
)classSolution:defcanPartition(self,nums:List[int])->bool:total=sum(nums)iftotal
Joyner2018
·
2025-04-20 09:54
python
leetcode
算法
职场和发展
19-算法打卡-哈希表-四数相加II-
leetcode
(454)-第十九天
1题目地址454.四数相加II-力扣(
LeetCode
)454.四数相加II-给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足
Bonnie_1215
·
2025-04-20 09:53
算法打卡
算法
散列表
leetcode
Day9:KMP算法总结
LeetCode
28. 找出字符串中第一个匹配项的下标 459.重复的子字符串
28.找出字符串中第一个匹配项的下标给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6处匹配。第一个匹配项的下标是0,所以返回0。示例2:输
魔法少女小严
·
2025-04-20 09:52
java
算法
LeetCode
438 找到字符串中所有字母异位词
给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。示例1:输入:s="cbaebabacd",p="abc"输出:[0,6]解释:起始索引等于0的子串是"cba",它是"abc"的异位词。起始索引等于6的子串是"bac",它是"abc"的异位词。示例2:输入:s="abab",p="ab"输出:[0,1,2]解释:起始索引等于0的子串是"ab",它是
麦格芬230
·
2025-04-20 07:10
leetcode
linux
算法
LeetCode
每日一题4.8
3396.使数组元素互不相同所需的最少操作次数问题分析题目要求通过移除数组的前缀元素,使得数组中的所有元素互不相同。每次操作可以移除数组的前3个元素(如果数组中元素少于3个,则移除所有剩余元素)。目标是找到使数组元素互不相同的最少操作次数。思路检查当前数组是否满足条件:如果数组长度小于等于1,直接返回操作次数,因为单个元素或空数组默认互不相同。如果数组中的元素互不相同(即len(set(nums)
WaitWaitWait01
·
2025-04-20 07:09
我的学习记录
leetcode
LeetCode
每日一题(4.19)
示例1:输入:s="love
leetcode
",c="e"输出:[3,2,1,0,1,0,0,1,2,2,1,0]解
kemomimi丶
·
2025-04-20 07:08
java
算法
LeetCode
每日一题4.19
2563.统计公平数对的数目题目问题分析输入:一个整数数组nums和两个整数lower和upper。输出:返回满足条件的公平数对的数目,即对于所有0i)的范围。二分查找:分别找到满足nums[i]+nums[j]=lower的最小j(通过find_lower_bound)。代码classSolution:defcountFairPairs(self,nums:List[int],lower:int
WaitWaitWait01
·
2025-04-20 06:06
我的学习记录
leetcode
算法
leetcode
146. LRU缓存机制
https://
leetcode
-cn.com/problems/lru-cache/模拟了缓存机制。这道题需要一个东西来存储键值对的信息,所以采用map整个过程包括的操作有插入,删除。
爱打篮球的憨憨
·
2025-04-20 04:47
leetcode
medium
004 二分算法:从入门到精通,一文吃透所有二分变种问题!
本文通过
LeetCode
高频题目。详解二分法的核心原理与模板,帮你彻底掌握这一算法!目录二分法的核心思想与适用场景基础二分查找:标准模板与变形边界问题:寻找左右边界旋转数组与极值问题二分
智趣代码实验室
·
2025-04-20 04:46
数据结构与算法
算法
leetcode
0016 最接近的三数之和 - medium
1题目:最接近的三数之和给你一个长度为n的整数数组nums和一个目标值target。请你从nums中选出三个整数,使它们的和与target最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例1:输入:nums=[-1,2,1,-4],target=1输出:2解释:与target最接近的和是2(-1+2+1=2)。示例2:输入:nums=[0,0,0],target=1输出:0解释:与tar
智趣代码实验室
·
2025-04-20 04:45
Leetcode
算法
leetcode
c++
LeetCode
-146. LRU 缓存-Java-medium
题目链接法一(LinkedHashMap)/***法一*LinkedHashMap*(1)定义:继承自HashMap,在HashMap基础上,通过维护一条双向链表,解决了HashMap不能随时保持遍历顺序和插入顺序一致的问题*(2)数据结构:HashMap+双向链表*(3)使用场景:当我们希望有顺序地去存储key-value时,就需要使用LinkedHashMap了,例如LRU缓存过期策略*(4)
happy life 2022
·
2025-04-20 04:15
#
链表
#
哈希
java
leetcode
缓存
算法
LeetCode
146. LRU Cache
LRUCacheMediumDesignandimplementadatastructureforLeastRecentlyUsed(LRU)cache.Itshouldsupportthefollowingoperations:getandput.get(key)-Getthevalue(willalwaysbepositive)ofthekeyifthekeyexistsinthecache,
da_kao_la
·
2025-04-20 04:15
LeetCode
基础算法
LeetCode
Medium
Java
LRU
个人学习编程(3-16)
leetcode
刷题
有多少小于当前数字的数字:给你一个数组nums,对于其中每个元素nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个nums[i]你必须计算出有效的j的数量,其中j满足j!=i且nums[j]voidcountSmallerNumbers(intnums[],intn,intresult[]){//对每个元素nums[i],遍历整个数组来计数for(inti=0;inums[j
Rsecret2
·
2025-04-20 02:38
编程笔记
学习
leetcode
算法
LeetCode
38. Count and Say
LeetCode
38.CountandSay分析难度易来源https://
leetcode
.com/problems/count-and-say/description/题目Thecount-and-saysequenceisthesequenceofintegerswiththefirstfivetermsasfollowing
weixin_30896825
·
2025-04-20 00:55
数据结构与算法
LeetCode
259 题全解析:Swift 快速找出“满足条件”的三人组
文章目录摘要描述示例1:示例2:示例3:题解答案(Swift)题解代码分析示例测试及结果时间复杂度空间复杂度总结摘要本文围绕
LeetCode
259题“较小的三数之和”,通过Swift给出两种解法,并结合双指针的优化思路
网罗开发
·
2025-04-19 20:28
Swift
leetcode
算法
职场和发展
LeetCode
258 超通俗讲解:各位相加的两种打开方式
文章目录摘要描述题解答案做法一:暴力模拟做法二:数学法(O(1)解法)题解代码分析方法一:暴力法方法二:数学法(O(1)解)示例测试及结果时间复杂度空间复杂度总结摘要这篇文章来聊聊
LeetCode
258
网罗开发
·
2025-04-19 20:27
Swift
leetcode
算法
职场和发展
LeetCode
76.最小覆盖子串 - Java滑动窗口+哈希计数详解(附调试过程与复杂度分析)
今天分享的是最小覆盖子串先看题目解题思路这道题的核心在于滑动窗口配合哈希计数我使用两个哈希表来跟踪字符出现频率:tMap:记录目标字符串t中每个字符的出现次数sMap:记录当前滑动窗口内字符的出现次数具体流程初始化阶段:检查边界条件(s比t短等情况)构建tMap统计t的字符频率滑动窗口遍历:扩展窗口右边界,逐个处理s的字符当遇到t中的字符时,更新sMap并检查是否构成有效匹配窗口收缩条件:当窗口包
不会写力扣!
·
2025-04-19 18:42
leetcode
算法
职场和发展
LeetCode
- 轮转数组,除自身以外数组的乘积
leetcode
_hot100189.轮转数组238.除自身以外数组的乘积189.轮转数组已解答中等相关标签相关企业提示给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。
Jessie_waverider
·
2025-04-19 15:54
leetcode
【蓝桥杯省赛真题02】C++猫吃鱼 第十届蓝桥杯中小学生创意编程大赛C++编程比赛省赛真题解析
目录C/C++猫吃鱼一、题目要求1、编程实现2、输入输出二、
算法分析
三、程序编写四、程序说明五、运行结果六、考点分析C/C++猫吃鱼第十届蓝桥杯青少年创意编程大赛C++省赛真题一、题目要求明明家从1号站点出发
小兔子编程
·
2025-04-19 13:38
蓝桥杯C++选拔赛真题详解
c++猫吃鱼
中小学生蓝桥杯c++真题
中小学生蓝桥杯比赛真题
中小学生蓝桥杯c++比赛真题
中小学生c++蓝桥杯比赛真题
中小学生蓝桥杯比赛真题答案
蓝桥杯c++比赛真题答案
时间/空间复杂度(C语言)
1.2算法的复杂度2.时间复杂度2.1时间复杂度的概念2.2大O的渐进表示法2.3常见时间复杂度计算举例3.空间复杂度4.常见复杂度对比5.复杂度的oj练习消失的数字:面试题17.04.消失的数字-力扣(
LeetCode
pzn)
·
2025-04-19 08:41
数据结构
数据结构
C语言中算法的时间复杂度和空间复杂度
一、算法时间复杂度的定义在进行
算法分析
时u,语句的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定的T(n)的数量级。算法的时间复杂度也称算法的时间量度。
小刘不要秃头
·
2025-04-19 08:41
算法
数据结构
leetcode
188. Best Time to Buy and Sell Stock IV
目录题目描述第一步,明确并理解dp数组及下标的含义第二步,分析明确并理解递推公式1.求dp[i][j].holding2.求dp[i][j].sold第三步,理解dp数组如何初始化第四步,理解遍历顺序代码题目描述这道题把第123题推广为一般情形。第123题限制最多可以完成两笔交易,这道题改为最多可以完成k笔交易。因此,两道题没有本质区别。仍然用第123题的思路来分析。第一步,明确并理解dp数组及下
洞阳
·
2025-04-18 23:07
leetcode
leetcode
算法
动态规划
搜索插入位置--
LeetCode
题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例1:输入:[1,3,5,6],5输出:2示例2:输入:[1,3,5,6],2输出:1示例3:输入:[1,3,5,6],7输出:4示例4:输入:[1,3,5,6],0输出:0classSolution{publicintsearchInsert(
xxjiaz
·
2025-04-18 21:55
leetcode
算法
职场和发展
算法Day9 |
Leetcode
232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项
文章目录232.用栈实现队列思路代码225.用队列实现栈思路代码20.有效的括号思路代码1047.删除字符串中的所有相邻重复项思路代码232.用栈实现队列力扣链接思路有两个栈,当需要弹栈的时候把第一个栈的元素放到第二个栈中,这样第二个栈的栈顶就是原来第一个栈的栈底,把第二个栈栈顶元素弹出即可。后面再加元素的时候往第一个栈加,不影响我弹栈的时候弹第二个栈(已经顺序了),当第二个栈空了以后,再将第一个
m0_73799676
·
2025-04-18 20:23
算法
算法
java
redis
Leetcode
-day09-栈和队列
232.用栈实现队列栈是先进后出,队列是先进先出。要用栈实现队列的入队,出队等操作,入队其实很简单,就是入栈就可以,主要是出队,这里可以用两个栈,来实现队列的先进先出。进栈放到in栈,出栈的时候先把in栈里面所有的元素都放到out栈里,然后对out栈出,就实现了队列的先进先出的效果。classMyQueue{privateStackin;privateStackout;publicMyQueue(
Ning_SE
·
2025-04-18 20:53
java
开发语言
Day 9 -
Leetcode
232用栈实现队列 |
Leetcode
225用队列实现栈
文章目录栈stack队列queue
leetcode
232
leetcode
225栈stack先进后出可以用链表、数组实现栈的结构java中容器:类:java.util.Stack实现:java.util.LinkedList
imlxinyu
·
2025-04-18 20:22
Leetcode
leetcode
java
数据结构
DAY 45
leetcode
28的kmp算法实现
KMP算法的思路例:文本串:aabaabaaf模式串:aabaaf两个指针分别指向上下两串,当出现分歧时,并不将上下的都重新回退,而是利用“next数组”获取已经比较过的信息,上面的指针不动,而下面的回退到第n个如:i指向b文本串:aabaabaaf模式串:aabaafj0&&s.charAt(j)!=s.charAt(i)){j=arr[j-1];}//如果相同,j先往前移动一格,再将arr[i
Fantasydg
·
2025-04-18 20:22
leetcode
算法
职场和发展
05-算法打卡-数组-二分查找-
leetcode
(367)-第五天
1题目地址367.有效的完全平方数-力扣(
LeetCode
)367.有效的完全平方数-给你一个正整数num。如果num是一个完全平方数,则返回true,否则返回false。
Bonnie_1215
·
2025-04-18 20:52
算法打卡
算法
leetcode
职场和发展
DAY 47
leetcode
232--栈与队列.用栈实现队列
题号232请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):classMyQueue{StackstackIn;StackstackOut;/**Initializeyourdatastructurehere.*/publicMyQueue(){stackIn=newStack();//负责出栈}/**Pushelementxtothe
Fantasydg
·
2025-04-18 20:21
leetcode
算法
职场和发展
JAVA刷题记录:专题一 双指针
283.移动零-力扣(
LeetCode
)classSolution{publicvoidmoveZeroes(int[]nums){for(intdest=-1,cur=0;cur=n-1)break;
用屁屁笑
·
2025-04-18 14:11
java
算法
leetcode
Leetcode
链表题总结
一、链表介绍链表是用一组位于任意位置的存储单元存储线性表的数据结构,这组存储单元可以是连续的,也可以不连续。链表的操作有初始化、添加、遍历、插入、删除、查找等。链表分为单向链表和双向链表。使用链表时,可以直接用STLlist,也可以自己写链表。如果自已写代码实现链表,有两种编码实现方法:动态链表、静态链表。二、链表实现数组模拟单链表//head存储链表头,e[]存储节点的值,ne[]存储节点的ne
gdtdgxc
·
2025-04-18 12:25
leetcode
链表
算法
Leetcode
325. 和等于 k 的最长子数组长度【Plus题】
1.2.题目地址https://
leetcode
.cn/problems/maximum-size-subarray-sum-equals-k/description/2.解题方法2.1.解题思路哈希表
Benjamin Tang
·
2025-04-18 12:55
leetcode
算法
python
数据结构
Leetcode
2814. 避免淹死并到达目的地的最短时间【Plus题】
1.题目基本信息1.1.题目描述现给定一个n*m的索引从0开始的二维字符串网格land,目前你站在为“S”的单元格上,你需要到达为“D”的单元格。在这片区域上还有另外三种类型的单元格:“.”:这些单元格是空的。“X”:这些单元格是石头。“*”:这些单元格被淹没了。每秒钟,你可以移动到与当前单元格共享边的单元格(如果它存在)。此外,每秒钟,与被淹没的单元格共享边的每个空单元格也会被淹没。在你的旅程中
Benjamin Tang
·
2025-04-18 12:54
leetcode
算法
数据结构
【
LeetCode
基础算法】滑动窗口与双指针
定长滑动窗口总结:入-更新-出。入:下标为i的元素进入窗口,更新相关统计量。如果iint:ans=0num_vowels=0forright,cinenumerate(s):ifcin'aeiou':num_vowels+=1#第一步:入ifright
huanjin_w
·
2025-04-18 12:24
算法
leetcode
python
【代码随想录训练营】【Day26休息】【Day27】第七章|回溯算法|39. 组合总和|40.组合总和II|131.分割回文串
组合总和题目详细:
LeetCode
.39由题可知:给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合candidates
蚝油菜花
·
2025-04-18 06:51
leetcode
回溯算法
算法
携带研究材料、
LeetCode
518.零钱兑换II、
LeetCode
377.组合总和、57. 爬楼梯
目录52.携带研究材料题目描述输入描述输出描述输入示例输出示例提示信息
LeetCode
518.零钱兑换II
LeetCode
377.组合总和57.爬楼梯题目描述输入描述输出描述输入示例输出示例提示信息52
霸L
·
2025-04-18 06:50
算法
数据结构
动态规划
24暑假算法刷题 | Day29 | 贪心算法 III |
LeetCode
134. 加油站,135. 分发糖果,860. 柠檬水找零,406. 根据身高重建队列
目录134.加油站题目描述题解135.分发糖果题目描述题解860.柠檬水找零题目描述题解406.根据身高重建队列题目描述题解134.加油站点此跳转题目链接题目描述在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组gas和cost,如果
makabaka_T_T
·
2025-04-18 04:06
算法题
算法
贪心算法
leetcode
day43——划分字母区间(
LeetCode
-763)
题目描述给你一个字符串s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。例如,字符串"ababcc"能够被分为["abab","cc"],但类似["aba","bcc"]或["ab","ab","cc"]的划分是非法的。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是s。返回一个表示每个字符串片段的长度的列表。示例1:输入:s="ababcbacadef
程序员-King.
·
2025-04-18 04:36
算法
贪心算法
算法
day44——根据身高重建队列(
LeetCode
-406)
题目描述假设有打乱顺序的一群人站成一个队列,数组people表示队列中一些人的属性(不一定按顺序)。每个people[i]=[hi,ki]表示第i个人的身高为hi,前面正好有ki个身高大于或等于hi的人。请你重新构造并返回输入数组people所表示的队列。返回的队列应该格式化为数组queue,其中queue[j]=[hj,kj]是队列中第j个人的属性(queue[0]是排在队列前面的人)。示例1:
程序员-King.
·
2025-04-18 04:02
算法
贪心算法
算法
leetcode
LeetCode
283题:移动零
LeetCode
283题:移动零(MoveZeroes)
LeetCode
第283题要求将数组中的所有零移动到数组的末尾,同时保持非零元素的相对顺序。
Ning_.
·
2025-04-18 01:17
LeeCode
leetcode
算法
数据结构
LeetCode
283移动零
问题描述 给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。解析 简单题,边找边写入,最后后面都设置为0即可。publicvoidmoveZeroes(int[]nums){intcur=0;for(inti=0;i
夜晚的水母不会游泳
·
2025-04-18 01:16
LeetCode
算法
java
leetcode
二. 字符串_公共前缀_14. 最长公共前缀
来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com/problems/longe
枸杞地黄丸
·
2025-04-18 00:09
算法分析
leetcode
算法
c++
代码随想录算法训练营第18天
目录
LeetCode
513.找树左下角的值
LeetCode
112.路径总和
LeetCode
106.从中序与后序遍历序列构造二叉树
LeetCode
513.找树左下角的值classSolution{public
_pie
·
2025-04-17 21:52
算法
数据结构
leetcode
c++
代码随想录算法训练营Day6 |
Leetcode
454四数相加II、383赎金信、15三数之和、18四数之和
代码随想录算法训练营Day6|
Leetcode
454四数相加II、383赎金信、15三数之和、18四数之和一、四数相加II相关题目:
Leetcode
454文档讲解:
Leetcode
454视频讲解:B站代码随想录
Dominic_Holmes
·
2025-04-17 21:49
leetcode
哈希
python
算法
数据结构
DAY 46
leetcode
459--字符串.重复的子字符串
题号459给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。暴力解法classSolution{publicbooleanrepeatedSubstringPattern(Strings){intsize=s.length();intlength=0;for(inti=1;i0&&size%count==0)returntrue;elsereturnfalse;}publicst
Fantasydg
·
2025-04-17 21:17
leetcode
算法
职场和发展
代码随想录算法训练营第十九天
LeetCode
题目:77.组合216.组合总和III17.电话号码的字母组合2537.统计好子数组的数目(每日一题)516.最长回文子序列1039.多边形三角剖分的最低得分543.二叉树的直径124.
写个博客
·
2025-04-17 21:47
代码随想录打卡
算法
代码随想录算法训练营周末一
LeetCode
42.接雨水(热题100,双指针)2109.向字符串添加空格(每日打卡)121.买卖股票的最佳时机(热题100,贪心)55.跳跃游戏(热题100,贪心)45.跳跃游戏II(热题100,贪心
写个博客
·
2025-04-17 21:17
代码随想录打卡
算法
LeetCode
算法题(Go语言实现)_50
题目现有一个包含所有正整数的集合[1,2,3,4,5,…]。实现SmallestInfiniteSet类:SmallestInfiniteSet()初始化SmallestInfiniteSet对象以包含所有正整数。intpopSmallest()移除并返回该无限集中的最小整数。voidaddBack(intnum)如果正整数num不存在于无限集中,则将一个num添加到该无限集中。一、代码实现(堆与
LuckyLay
·
2025-04-17 20:44
LeetCode
算法
leetcode
golang
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
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
其他