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
力扣周赛复盘
修剪二叉搜索树(
力扣
669)
这道题还是比较复杂,在递归上与之前写过的二叉树的题目都有所不同。如果当前递归到的子树的父节点不在范围中,我们根据节点数值的大小选择进行左递归还是右递归。为什么找到了不满足要求的节点之后,还要进行递归呢?因为该不满足要求的父节点的子树中可能存在满足要求的节点,我们要不断递归子树寻找这些满足要求的节点并向上返回,直到遇到空节点为止。注意这里递归函数的返回值为指向节点的指针,用来返回满足要求的节点。另外
qy发大财
·
2025-02-10 07:59
leetcode
算法
职场和发展
数据结构
组合(
力扣
77)
从这道题开始,我们正式进入回溯算法的学习。之前在二叉树中只是接触到了一丢丢,而这里我们将使用回溯算法解决很多经典问题。那么这道题是如何使用回溯算法的呢?在讲回溯之前,先说明一下此题是如何递归的。毕竟回溯递归不分家,必须先有递归,才会有回溯。而这里的递归就是在题目所给集合的子集中使用for循环选择数字。考虑组合的无序性(1,2和2,1是相同的组合),那么在对递归得到的子集进行遍历时,需要用变量控制f
qy发大财
·
2025-02-10 07:59
leetcode
算法
职场和发展
数据结构
力扣
LeetCode: 63 不同路径Ⅱ
题目:给定一个mxn的整数数组grid。一个机器人初始位于左上角(即grid[0][0])。机器人尝试移动到右下角(即grid[m-1][n-1])。机器人每次只能向下或者向右移动一步。网格中的障碍物和空位置分别用1和0来表示。机器人的移动路径中不能包含任何有障碍物的方格。返回机器人能够到达右下角的不同路径数量。测试用例保证答案小于等于2*10^9。示例1:输入:obstacleGrid=[[0,
不想编程小谭
·
2025-02-10 07:58
LeetCode
leetcode
算法
动态规划
c++
力扣
LeetCode: 1845 座位预约管理系统
题目:请你设计一个管理n个座位预约的系统,座位编号从1到n。请你实现SeatManager类:SeatManager(intn)初始化一个SeatManager对象,它管理从1到n编号的n个座位。所有座位初始都是可预约的。intreserve()返回可以预约座位的最小编号,此座位变为不可预约。voidunreserve(intseatNumber)将给定编号seatNumber对应的座位变成可以预
不想编程小谭
·
2025-02-10 07:57
LeetCode
leetcode
力扣
---28. 找出字符串中第一个匹配项的下标
给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6处匹配。第一个匹配项的下标是0,所以返回0。示例2:输入:haystack="leetco
嗯哼呀吼
·
2025-02-10 07:57
leetcode
算法
力扣
279.完全平方数
题目:给你一个整数n,返回和为n的完全平方数的最少数量。完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。示例1:输入:n=12输出:3解释:12=4+4+4示例2:输入:n=13输出:2解释:13=4+9提示:1vec(n+1,0);//先将平方数存储起来for(inti=1;idp(n+1,n+1);dp[
Takina541
·
2025-02-10 07:55
leetcode
算法
数据结构
力扣
hot100-双指针
283.移动零题目:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]思想:利用快慢指针将特定元素往后移动,不能让0在慢指针的后面即可defmoveZeroes(self,nums:List[int])->None:"""Donot
行走的小鱼儿
·
2025-02-10 06:55
leetcode
算法
数据结构
leetcode80:删除有序数组中的重复项||
原题地址:80.删除有序数组中的重复项II-
力扣
(LeetCode)题目描述给你一个有序数组nums,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。
向阳1218
·
2025-02-10 06:24
leetcode
算法
leetcode
数量20一组
复盘
250208
ps:连算带蒙,对的还行,就是时间太长了,如果1道题2分钟就很合适了。设甲的效率x,乙的效率是y,任务总量为11/x+1/y=(1/(x+y))*4.5解得:x=2y或2x=y(排除,因为甲的效率高,用的天数少)在根据条件甲、乙先合作12天,乙再单独工作12天,恰好完成可得(x+y)*12+y*12=1,代入x=2y,解得x=1/24,所以选A。18.某工厂一机器需要同类零件分别安装在A和B处。已
小卒曹阿瞒
·
2025-02-10 06:54
行测
大数据
小白
力扣
之路 367. 有效的完全平方数
给定一个正整数num,编写一个函数,如果num是一个完全平方数,则返回True,否则返回False。说明:不要使用任何内置的库函数,如sqrt。示例1:输入:16输出:True示例2:输入:14输出:FalseboolisPerfectSquare(intnum){inti=1;while(num>0){num-
neeeewbee
·
2025-02-10 06:23
力扣
力扣
80:删除排序数组中的重复项 II
这道题要求我们原地删除重复出现的元素,使得每个元素最多出现两次,并返回删除后数组的新长度。同时,题目要求使用O(1)的额外空间来实现。一、双指针解法思路:由于数组是有序的,我们可以使用双指针法来解决这个问题。我们可以定义两个指针slow和fast分别指向处理后的数组的末尾和当前处理的位置。从第三个元素开始,我们比较当前元素与慢指针向前两步的元素是否相同。如果相同,则说明当前元素出现次数已经超过两次
菠 罗 吹 雪
·
2025-02-10 06:52
leetcode
算法
数据结构
Day25 非递减子序列 全排列 全排列 II
回溯算法part04491.非递减子序列-
力扣
(LeetCode)超时是因为res.contains(path)耗时先搜索所有结果之后判断结果是否有序LinkedListpath=newLinkedList
落叶过河
·
2025-02-10 06:21
代码随想录算法打卡
数据结构
算法
KMP算法详解 + Python源代码(
力扣
28. 找出字符串中第一个匹配项的下标,
力扣
459. 重复的子字符串)
力扣
28.找出字符串中第一个匹配项的下标思路(两种方法):1.双指针循环:(1)首先遍历文本串haystack,直到有一个字符与模式串needle的第一个字符相同,进入深度匹配(2)深度匹配过程中,将文本串后边几个字符
hanyu1209
·
2025-02-10 06:19
算法
python
leetcode
数据结构
力扣
题.80 删除有序数组中的重复项 II
80.删除有序数组中的重复项IIhttps://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/给你一个有序数组nums,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组的条件下完成。示例1:输入:nums=[1,1,1,2,2,3]输出
从此不叫無名
·
2025-02-10 06:17
算法
leetcode
力扣
c语言
力扣
LeetCode: 80 删除有序数组中的重复项Ⅱ
题目:给你一个有序数组nums,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://nums是以“引用”方式传
不想编程小谭
·
2025-02-10 06:15
LeetCode
leetcode
算法
数据结构
力扣
-字符串-28 找出字符串中第一个匹配项的下标
思路kmp算法的练习,实际上来说在构建next数组和使用next数组都用到了前一位字符串的最长相等前后缀代码classSolution{public:voidgetNext(int*next,strings){intj=0;next[0]=0;for(inti=1;i0&&s[j]!=s[i]){j=next[j-1];}if(s[j]==s[i])j++;next[i]=j;}}intstrSt
夏末秋也凉
·
2025-02-10 06:14
力扣
#
字符串
leetcode
算法
【
力扣
】279.完全平方数
AC截图题目思路总结动态规划方程得出的思路找到最小子问题,涉及到当前数和上一个数的跨度,以及上一个数的结果如何变成当前数的结果这两个点。1,当前数n和上一个数的跨度:假设n=12,上一个数可以是11,11+1=12,OK;上一个数可以是8,因为8+4=12;上一个数可以是3,因为3+9=12;为什么11、8、3可以?因为题目要求是完全平方数相加。只有11加上1(11),8+4(22),3+9(3*
睡不着还睡不醒
·
2025-02-10 05:13
leetcode
leetcode
算法
职场和发展
【代码随想录|子序列系列300,674,718】
300.最长递增子序列题目链接:300.最长递增子序列-
力扣
(LeetCode)1.dp数组的含义dp[i]:以nums[i]结尾的最长递增子序列的长度2.递推公式if(nums[i]>nums[j])
mazo_command
·
2025-02-09 12:07
算法
2025.2.7 Python开发岗面试
复盘
2025.2.7Python开发岗面试
复盘
问题:是否了解过其他语言?了解过Java、JavaScript、C等语言,但主要技术栈是Python。Python跟Java的区别?
Super-Coding
·
2025-02-09 02:47
python
面试
开发语言
链表-删除倒数第n个节点
代码随想录-刷题笔记19.删除链表的倒数第N个结点-
力扣
(LeetCode)内容:本题思路比较直接,也没太多好说的,既然是倒数第n个节点,那么设置一个fast领先slown个节点,当fast到达末尾节点的时候
Hasno.
·
2025-02-08 15:35
链表
数据结构
力扣
77题组合
77.组合难度:中等标签:回溯算法给定两个整数n和k,返回1…n中所有可能的k个数的组合。示例:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]思路:1.动手写一下,是如何组合的,然后可以发现,可以类似一棵树,选择一个数,往下,继续选择下一个数,直到选择了k个数,2.选择一个数,可以用一个栈来存储,返回时,需要删除这个数,寻找下一个,回溯的思想
zzxdddd
·
2025-02-08 10:25
力扣
组合总和(
力扣
39)
这道题又在之前的基础上进行了变形。递归是在一个集合里进行,但每次递归我们可以选择重复的数字,这代表递归时不需要缩小集合范围。但是组合的无序性仍要考虑,所以每一层for循环的起始值还是需要用变量控制。另外,我们可以事先对元素排个序,因为此题需要求和并与目标值进行比较。通过排序,我们就可以进行剪枝操作,提高效率。大家可以结合我下面的代码及详细注释理解。代码及详细注释如下:classSolution{p
qy发大财
·
2025-02-08 10:54
leetcode
算法
职场和发展
组合总和II(
力扣
40)
这道题的难点就在于题目所给的集合中有重复的数字,我们需要进行去重操作。首先明确去重指的是去重哪一部分。注意并不是对递归的集合去重,而是对当前集合的遍历进行去重。这么说可能有点抽象,举个例子:假设集合为1,1,2,3,4,我们第一次选1,递归集合时,我们仍可以选择第二个1。但是在第一次选第二个1时,在往下选,就会出现很多与第一次选第一个1时相同的组合。所以在每一层递归函数的for循环中我们需要进行去
qy发大财
·
2025-02-08 10:54
leetcode
算法
职场和发展
力扣
LeetCode #77 组合(Combine)
-题目描述给定两个整数n和k,返回1…n中所有可能的k个数的组合。来源:LeetCode-示例示例:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]-思路分析回溯+剪枝,列举所有情况即可。这道题很容易可以用回溯得到所有答案,但如果不剪枝,效率很低。这里剪枝主要是通过观察发现:如果剩下的元素加起来都没有kkk个,是不可能有满足条件的组合的。k>c
苏志林的情敌
·
2025-02-08 09:23
剪枝
算法
leetcode
回溯
java
力扣
刷题组合问题总结(回溯)
77.组合给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。classSolution{private:vector>result;//存放符合条件结果的集合vectorpath;//用来存放符合条件结果voidbacktracking(intn,intk,intstartIndex){if(path.size()==k){result.push_back(
weixin_46213145
·
2025-02-08 09:22
leetcode
剪枝
深度优先
算法
c++
电话号码的字母组合(
力扣
17)
题目描述题目链接:
力扣
https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合
岳麓山脚一大叔
·
2025-02-08 09:19
零基础算法
leetcode
算法
力扣
算法题经典(两数之和、排列组合)-python
1.两数之和-
力扣
(LeetCode)三数之和,找出所有和为0且不重复的三元组。先排序,用for循环,双指针,while。15.三数之和-
力扣
(LeetCode)最接近的三数之和。
渣渣zheng
·
2025-02-08 09:48
leetcode刷题
leetcode
算法
python
力扣
77. 组合
题目链接考点:dfs提议:1-n中取k个数,输出所有组合数的可能classSolution{public:vector>combine(intn,intk){dfs(temp,n,k,0);returnans;}private:vector>ans;vectortemp;voiddfs(vector&temp,intn,intk,intx){if(temp.size()==k){ans.push_
计算机学弱驴
·
2025-02-08 09:47
力扣基础题
组合问题--
力扣
第77题
第77题.组合给定两个整数n和k,返回1…n中所有可能的k个数的组合。示例:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]思路:使用回溯算法,LinkedListpath:来存储路径Listres:存储结果backtrack(intn,intk,intstart):递归函数(path.size()==k:单层递归结束条件,也是res收集结果条
天忍哥哥
·
2025-02-08 09:45
回溯算法
leetcode
java
算法
20210622
力扣
第77题:组合(java)
示例:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]来源:
力扣
(LeetCode)链接:https://leetcode-cn.com/problems
今天炒饭有点咸
·
2025-02-08 09:14
Leetcode
算法
leetcode
数据结构
力扣
有效的括号
括号匹配问题,找到符合的进行抵消。题目从题可以看出是嵌套的括号先匹配先做抵消,类似就近原则,这也是栈的典型例题。可以通过枚举多种不同的情况慢慢用if与else做返回。时间复杂度:O(n),其中n是字符串的长度。空间复杂度:O(n),主要来自栈的空间。classSolution{publicbooleanisValid(Strings){Stackstack=newStackstack=newSta
孑么
·
2025-02-08 07:29
力扣
leetcode
算法
职场和发展
java
3.
力扣
——无重复字符的最长子串(总结)
一个
力扣
的题目:给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。
luodehate
·
2025-02-08 07:28
算法
最小移动总距离 -
力扣
dp,N - Nunchucks Shop 组合数求不回文的排列,D - Yet Another Problem map记录前缀和的位置
N-NunchucksShop组合数求不回文的排列可以发现对于每个iusingnamespacestd;#defineendl'\n'#defineintlonglong//constintmod=1e9+7;constintinf=1e18;constintN=1e7+100;inta[55][55];intc[55][55];signedmain(){//ios::sync_with_stdi
killer_queen4804
·
2025-02-08 00:15
总结
算法
c++
c++
算法
开发语言
【数据结构-Trie树】
力扣
677. 键值映射
设计一个map,满足以下几点:字符串表示键,整数表示值返回具有前缀等于给定字符串的键的值的总和实现一个MapSum类:MapSum()初始化MapSum对象voidinsert(Stringkey,intval)插入key-val键值对,字符串表示键key,整数表示值val。如果键key已经存在,那么原来的键值对key-value将被替代成新的键值对。intsum(stringprefix)返回所
hlc@
·
2025-02-07 22:35
数据结构
精选
数据结构
leetcode
算法
二叉树 2. 二叉树的递归遍历
二叉树2.二叉树的递归遍历144.二叉树的前序遍历-
力扣
(LeetCode)94.二叉树的中序遍历-
力扣
(LeetCode)145.二叉树的后序遍历-
力扣
(LeetCode)代码随想录均为:难度3-简单摘录
Mophead_Zarathustra
·
2025-02-07 18:09
小白的代码随想录刷题笔记
Mophead的小白刷题笔记
leetcode
python
二叉树
代码随想录
java练习(10)
ps:题目来自
力扣
给你两个二进制字符串a和b,以二进制字符串的形式返回它们的和。
IIIIIIlllii
·
2025-02-07 14:10
java
算法
PDF转图片及拼接- ImageMagick
适用环境:Macbook所用工具:ImageMagickbrewinstallimagemagickPDF转换图片convert1_字节AI战略全面
复盘
.pdf./1_字节AI战略全面
复盘
.jpeg图片垂直拼接
海持Alvin
·
2025-02-07 04:33
pdf
ai
人工智能
图像处理
力扣
hot100第73矩阵置零
题打眼一看至少O(n^2),如果直接在双重循环中处理,可达到O(n^3),所以还是空间换时间,申请两个数组,分别用来存储为零的横纵坐标,将双重循环中找到的下标存储起来,再用一个双重循环将其对应的横纵全部置零。我采用的是,将找到的下标也作为新申请数组的下标,将其值置为1,初始化时初始为其他值,这样在遍历时,直接用下标即可。上代码。classSolution{public:voidsetZeroes(
一如既往,微笑
·
2025-02-07 01:44
leetcode
算法
c++
后端
矩阵
力扣
73矩阵置零
给定一个mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。输入:matrix=[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]输入: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]]要求原地,所以在原数组上处理,设
format_push
·
2025-02-07 00:40
算法
java
数据结构
代码随想录算法训练营第二十八天| 回溯算法01
题目链接/文章讲解:代码随想录视频讲解:带你学透回溯算法-组合问题(对应
力扣
题目:77.组合)|回溯法精讲!_哔哩哔哩_bilibi
Rachela_z
·
2025-02-06 23:02
算法
八年Unity程序员的血泪自述:如果重学Unity,我会这样梳理技术栈
八年Unity程序员的血泪自述:如果重学Unity,我会这样梳理技术栈作者:一个依然在路上的Unity开发者(2018-2025)标签:#Unity3D#游戏开发#程序员成长#技术
复盘
一、组件思维:从"
C_Pawn
·
2025-02-06 21:52
unity
游戏引擎
你说通过Kafka AdminClient获取Lag会有性能问题?尊嘟假嘟0.o
在相关的
复盘
报告中,
复盘
方提到了我这边的监控程序(用于观察线上实时作业的堆压)会频
·
2025-02-06 13:04
javakafka大数据
刷代码随想录14--哈希表
三数之和(1.5h)15.三数之和-
力扣
(LeetCode)确实,哈希表适合i,j,k可重复,即遍历a[i],找有没有0-a[i]那么,i,j,k不重复怎么办代码随想录给出了双指针法,个人感觉移动有一点像快排整个过程挺一言难尽的
2301_76653605
·
2025-02-06 07:14
散列表
数据结构
Airwallex leetcode 刷题宝典
题目1:18.四数之和-
力扣
(LeetCode)给你一个由n个整数组成的数组nums,和一个目标值target。
走向自由
·
2025-02-06 06:39
leetcode
算法
职场和发展
C/C++:输入输出函数简介
sscanf、sscanf_s3.gets、gets_s、fgets4.puts、fputs二、C++输入输出函数1.cin、cout2.cin.getline、cin.get、getline引言:平时在
力扣
刷题或者公司笔试面试题中
lijiachang030718
·
2025-02-06 04:45
C/C++
c++
c语言
leetcode: 583.两个字符串的删除操作
题目来源:
力扣
(LeetCode)链接:https://leetcode-cn.com/problems/delete-operation-for-two-strings给定两个单词word1和word2
uncle_ll
·
2025-02-06 01:29
编程练习-Leetcode
leetcode
动态规划
公共子字符串
力扣
763. 划分字母区间
https://leetcode.cn/problems/partition-labels题目s字符串划分为尽可能多的片段,同一字母最多出现在一个片段将所有划分结果按顺序连接,得到的字符串仍然是s返回每个片段的字符串的长度列表思路记录每个字符出现的最大index若当前的index是前序字符串的最大index,则记录前序字符串的长度,并重置计数代码classSolution{public:vecto
pursuit_csdn
·
2025-02-05 23:12
力扣热题
100
leetcode
算法
[HOT 100] 0018. 四数之和
文章目录1.题目链接2.题目描述3.题目示例4.解题思路5.题解代码6.复杂度分析1.题目链接18.四数之和-
力扣
(LeetCode)2.题目描述给你一个由n个整数组成的数组nums,和一个目标值target
水蓝烟雨
·
2025-02-05 23:09
算法
HOT
100
力扣
记录:Hot100(8)——253-322
本次题目253会议室II279完全平方数283移动零287寻找重复数297二叉树的序列化与反序列化300最长递增子序列301删除无效的括号309最佳买卖股票时机含冷冻期312戳气球322零钱兑换253会议室II题目:有一个会议时间安排的二维数组,每个会议时间包括开始和结束之间[start,end],每个会议需要一间会议室,返回所需会议室的最小数量示例:输入[[0,30],[5,10],[15,20
Kiwi_fruit
·
2025-02-05 23:39
Hot100
LeetCode
leetcode
算法
贪心算法
力扣
leetcode 面试题02.01 移除重复节点
面试题02.01移除重复节点编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1,2,3,3,2,1]输出:[1,2,3]示例2:输入:[1,1,1,1,2]输出:[1,2]提示:链表长度在[0,20000]范围内。链表元素在[0,20000]范围内。解题思路:1.哈希表,空间换时间注意到题目给的是未排序的链表,因此,需要考虑的情况也就更为复杂。首先想到的是使用一个哈希表
taotaoxianzi
·
2025-02-05 20:18
leetcode
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
其他