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
206题:反转链表(python3)
采用递归classSolution:defreverseList(self,head:Optional[ListNode])->Optional[ListNode]:cur=headpre=Nonewhilecur:temp=cur.next#保存下一轮循环的节点cur.next=pre#将当前节点cur的指针指向上一个节点prepre=curcur=tempreturnpre
Zachos
·
2024-03-09 02:26
银河骑士每日一练
链表
数据结构
算法
python
leetcode
热题100学习计划-动态规划-300最长递增子序列
题目最长递增子序列思路动态规划思想,设dp[i]为以nums[i]为结尾的最长递增子序列的长度。dp[i]任何情况下都至少为1,所以dp数组初始化全为1那么递推公式是什么,只要比nums[i]小的数,都满足提议因此,有dp[i]=Math.max(dp[i],dp[j]+1);j从0到i-1dp数组的最大值就是所求值代码if(nums.length==0){return0;}int[]dp=new
沐风御灵
·
2024-03-09 02:56
leetcode
学习
动态规划
【
Leetcode
】150. 逆波兰表达式求值
今天做了一道
leetcode
,题目不算难,基本就是stack的入栈出栈,但我看了一圈别人的代码,感觉不够优雅,所以我想分享一下自己的写法,主要就是用Map和BiFunction优化4个ifelseJava
飞哥不鸽
·
2024-03-08 23:52
leetcode
150
Function
BiFunction
【
LeetCode
】389_找不同_C
https://
leetcode
.cn/problems/find-the-difference/description/示例示例1:输入:s="abcd",t="abcde"输出:"e"解释:'e'是那个被添加的字母
长白秋沙
·
2024-03-08 21:20
算法刷题笔记
算法刷题
Leetcode
3.7
Leetcode
hot100二分查找1.搜索插入位置2.二分查找3.搜索二维矩阵4.在排序数组中查找元素的第一个和最后一个位置5.搜索旋转排序数组Question二分查找1.搜索插入位置搜索插入位置考虑这个插入的位置
精品西红柿
·
2024-03-08 17:42
leetcode
算法
职场和发展
计算阶乘后的0
refer:https://
leetcode
.cn/problems/factorial-trailing-zeroes/description/?
许墨の小蝴蝶
·
2024-03-08 16:11
算法
leetcode
-快速排序法和冒泡排序法
冒泡排序视频讲解快速排序视频动画演示#include#includeusingnamespacestd;//1.quickSort(arr,0,n-1);注意函数调用是左闭右闭区间,所以递归调用的两次也是左闭右闭voidquickSort(std::vector&arr,intlow,inthigh){if(low&arr){intn=arr.size();for(inti=0;iarr={1,1
浦东新村轱天乐
·
2024-03-08 15:40
leetcode
leetcode
算法
排序算法
leetcode
337. 打家劫舍 III
337.打家劫舍III在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。示例1:输入:[3,2
Elon0
·
2024-03-08 02:24
LeetCode
leetcode
(力扣) 55. 跳跃游戏 (贪心 & 动态规划)
文章目录题目描述思路分析贪心思路:动态规划思路:完整代码题目描述给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例1:输入:nums=[2,3,1,1,4]输出:true解释:可以先跳1步,从下标0到达下标1,然后再从下标1跳3步到达最后一个下标。示例2:输入:nums=[3,2,1,0,4]输出:fal
深度不学习!!
·
2024-03-08 00:51
个人笔记
交流学习
leetcode
python
算法D39 | 动态规划2 | 62.不同路径 63. 不同路径 II
|
LeetCode
:62.不同路径_哔哩哔哩_bilibili这个题看到路径的表示,第一直觉就是一个组合数的问题,学了一下C++计算组合数防止溢出的小技巧。
memolaner
·
2024-03-07 17:11
算法训练营
算法
动态规划
数据结构
c++
python
leetcode
2917.找出数组中的K-or值
说实话这道题就是阅读题。虽然作者本题写的并不怎么简单,但是思路还是很清楚的。思路:通过题目我们就可以知道,本质上就是算出这个数的二进制,然后在二进制中找到各位有多少1的题目而已。intn=nums.size();intarr[51][32];for(inti=0;i=k,那么我们直接储存这里的坐标i,否则继续循环。最后退出循环整个结束之后,我们就按照题目所给的方式求解最终的数就行了。classSo
是小Y啦
·
2024-03-07 16:09
leetcode
算法
数据结构
LeetCode
每日一题 汇总区间(区间)
题目描述给定一个无重复元素的有序整数数组nums。返回恰好覆盖数组中所有数字的最小有序区间范围列表。也就是说,nums的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于nums的数字x。列表中的每个区间范围[a,b]应该按如下格式输出:"a->b",如果a!=b"a",如果a==b示例1:输入:nums=[0,1,2,4,5,7]输出:["0->2","4->5","7"]解释:
南瓜小米粥、
·
2024-03-07 05:26
leetcode
算法
数据结构
算法题合集(细分知识点附链接)---------第二部分【融合牛客及力扣】
根据二叉树创建字符串102.二叉树的层序遍历236.二叉树的最近公共祖先JZ36二叉搜索树与双向链表105.从前序与中序遍历序列构造二叉树动态规划JZ42连续子数组的最大和图137.只出现一次的数字IIhttps://
leetcode
.cn
FreedanyTsui
·
2024-03-07 02:52
各种算法题
算法
【
Leetcode
每日一题】二分查找 - 寻找峰值(难度⭐⭐)(20)
1.题目解析
Leetcode
链接:162.寻找峰值这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。核心在于找到题目中所说的峰值并返回他们的下标即可。
每天进步亿丢丢
·
2024-03-06 16:40
算法
leetcode每日一题
leetcode
算法
职场和发展
代码随想录算法训练营Day34 ||
leetCode
860.柠檬水找零 || 406.根据身高重建队列 || 452. 用最少数量的箭引爆气球
860.柠檬水找零贪心的思路就是,先把最没用的钱给找出去。本题中,20元没法花出去,只有10和5能找零,但10只能找零20,而5可以找零10与20,所以就想办法把10先花出去即可。之后按照收入顺序来记录钱数并选择找零。如果某次钱的数目变为负数,则说明无法找零,输出错误。classSolution{public:boollemonadeChange(vector&bills){intfive=0,t
qq_44884699
·
2024-03-06 10:34
leetcode
算法
职场和发展
代码随想录算法训练营Day20 ||
leetCode
530.二叉搜索树的最小绝对差 || 501.二叉搜索树中的众数 || 236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差最简单的思路为中序遍历,然后遍历数组求差值。classSolution{private:voidtraversal(TreeNode*root,vector&vec){if(root==NULL)return;traversal(root->left,vec);vec.push_back(root->val);//将二叉搜索树转换为有序数组traversal(root
qq_44884699
·
2024-03-06 10:04
算法
leetcode
职场和发展
代码随想录算法训练营Day4|
leetCode
24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、 面试题 02.07. 链表相交、 142.环形链表II
24.两两交换链表中的节点开始写的代码总有一些问题,对比答案之后发现自己少设置了一个变量,(此前想偷懒,把cur和head融合到一块了)。此题我出现的问题,还有一点在于自己忘了指针的作用了,一直奇怪head节点改变后,为什么dummyhead->next依然正确classSolution{public:ListNode*swapPairs(ListNode*head){ListNode*dummy
qq_44884699
·
2024-03-06 10:34
算法
leetcode
链表
代码随想录算法训练营Day37|738.单调递增的数字、968.监控二叉树
LeetCode
:738.单调自增的数字C++实现classSolution{public:intmonotoneIncreasingDigits(intn){stringnum=to_string(n
Magical_Jason
·
2024-03-06 09:33
算法训练
算法
力扣爆刷第85天之hot100五连刷11-15
文章目录力扣爆刷第85天之hot100五连刷11-15一、239.滑动窗口最大值二、76.最小覆盖子串三、53.最大子数组和四、56.合并区间五、189.轮转数组一、239.滑动窗口最大值题目链接:https://
leetcode
.cn
当年拼却醉颜红
·
2024-03-06 01:23
力扣算法题
leetcode
算法
职场和发展
leetcode
673.最长递增子序列的个数
上一题只需要知道最长递增子序列的长度就行了,那样的话直接一个dp就完事了,但是呢,这里说了需要记录这个最长长度递增子序列的个数,这下的话,如果你想用原先的思路,其实可以,但是要能做到计数的话,需要你再定义一个数组cnt用来记录以nums[i]为尾的最长子序列个数。思路:首先我们根据最长递增子序列的思路,知道dp是用来记录以nums[i]为尾的最长子序列长度的,那么我们要在动态规划实现递推的同时实现
是小Y啦
·
2024-03-06 00:22
leetcode
算法
动态规划
重拾C++之菜鸟刷算法第8篇---二叉树(中)
101.对称二叉树-力扣(
LeetCode
)题解------递归法递归函数的参数设置:左右节点之间的比较,这里并不是左右子树的比较哦。
阿卡西番茄酱
·
2024-03-05 18:42
C++算法
c++
算法
开发语言
LeetCode
2810.故障键盘
你的笔记本键盘存在故障,每当你在上面输入字符‘i’时,它会反转你所写的字符串。而输入其他字符则可以正常工作。给你一个下标从0开始的字符串s,请你用故障键盘依次输入每个字符。返回最终笔记本屏幕上输出的字符串。示例1:输入:s=“string”输出:“rtsng”解释:输入第1个字符后,屏幕上的文本是:“s”。输入第2个字符后,屏幕上的文本是:“st”。输入第3个字符后,屏幕上的文本是:“str”。因
吃着火锅x唱着歌
·
2024-03-05 16:40
LeetCode
leetcode
算法
职场和发展
leetcode
第 205 场周赛
给你一个仅包含小写英文字母和‘?’字符的字符串s,请你将所有的'?'转换为若干小写字母,使最终的字符串不包含任何连续重复的字符。注意:你不能修改非‘?’字符。题目测试用例保证除'?'字符之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。publicStringmodifyString(
jan1235
·
2024-03-05 13:36
leetcode周赛
leetcode
java
LeetCode
第 204 场周赛
5499.重复至少K次且长度为M的模式垃圾题解略垃圾代码classSolution:defcontainsPattern(self,arr:List[int],m:int,k:int)->bool:print('ohhh')n=len(arr)ifm*k>n:returnFalseforiinrange(n-m+1):a=arr[i:i+m]c=1j=i+mwhilej=k:returnTruer
蟹恼板
·
2024-03-05 13:06
刷题
leetcode
算法
数据结构
dfs
二叉树
Leetcode
3070. Count Submatrices with Top-Left Element and Sum Less Than k
Leetcode
3070.CountSubmatriceswithTop-LeftElementandSumLessThank1.解题思路2.代码实现题目链接:3070.CountSubmatriceswithTop-LeftElementandSumLessThank1
Espresso Macchiato
·
2024-03-05 06:28
leetcode笔记
leetcode
3070
leetcode周赛387
leetcode
medium
二维累积数组
leetcode题解
leetcode
51 N皇后问题
https://programmercarl.com/0051.N%E7%9A%87%E5%90%8E.html代码随想录讲的很清楚。回溯法从上到下按行搜索,因此back_tracking(chessboard,row+1)其参数为row+1判断该位置是否符合终止条件是i==nclassSolution{public://vectorpath_;vector>res_;boolvalid(vect
浦东新村轱天乐
·
2024-03-05 01:52
leetcode
算法
数据结构
LeetCode
148.排序链表
题目给你链表的头结点head,请将其按升序排列并返回排序后的链表。示例输入:head=[4,2,1,3]输出:[1,2,3,4]输入:head=[-1,5,3,4,0]输出:[-1,0,3,4,5]输入:head=[]输出:[]思路对于链表排序我们可以使用链表的归并排序(MergeSort)算法。下面是整体的思路:归并排序的核心思想:归并排序是一种分治算法,首先将待排序的链表分成两部分,然后分别对
Stephen_Curry___
·
2024-03-05 00:49
链表
数据结构
leetcode
算法
c++
回文链表(
leetcode
)
我自己第一个写的代码:boolisPalindrome(structListNode*head){structListNode*tail=NULL;structListNode*pos=NULL;if(head->next==NULL){returntrue;}while(1){if(head->next==NULL||(head->next->next==NULL&&head->val==hea
wx20041102
·
2024-03-04 18:43
链表
leetcode
linux
【
leetcode
热题】分割回文串
-力扣(
LeetCode
)题目描述给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。
kiugvui
·
2024-03-04 10:31
leetcode热题
leetcode
算法
职场和发展
【
LeetCode
-中等】209.长度最小的子数组-双指针/滑动窗口
力扣题目链接1.暴力解法这道题的暴力解法是两层嵌套for循环,第一层循环从i=0开始遍历至数组末尾,第二层循环从j=i开始遍历至找到总和大于等于target的连续子数组,并将该连续子数组的长度与之前找到的子数组长度相比较,若这个子数组长度更短,则更新结果。并将初始长度设置为INT32_MAX或nums.size()+1,用于判断是否不存在符合条件的子数组,通过判断结果是否被赋值,若未被赋值就返回0
qmkn
·
2024-03-04 07:27
LeetCode
leetcode
算法
滑动窗口
Leetcode
r Day33| 贪心算法part06+总结
738.单调递增的数字给定一个非负整数N,找出小于或等于N的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字x和y满足xres=newLinkedListInteger.compare(a[0],b[0]));intstart=intervals[0][0];intend=intervals[0][1];for(inti=1;iend){//不重叠res
恩爱鹿皮er
·
2024-03-03 02:19
Leetcode算法刷题记录
贪心算法
算法
leetcode
Java&C++题解与拓展——
leetcode
433.最小基因变化【A star学习、双向BFS(C++超时)、链式前向星(报错)】
每日一题做题记录,参考官方和三叶的题解目录题目要求思路一:BFSJavaC++思路二:双向BFSJavaC++思路三:A*Astar算法JavaC++思路四:建图+DFSJavaC++总结题目要求思路一:BFS找从startstartstart状态到endendend状态的最小步数;用哈希表存每个状态和步数;维护一个遍历队列,取队头元素curcurcur,依次替换每一位得到下一个可能状态,合法(出
AnjaVon
·
2024-03-02 23:16
leetcode
java
c++
学习
leetcode
代码随想录算法训练营第7天| 454. 四数相加 II、383. 赎金信、15. 三数之和、18. 四数之和
454.四数相加II题目链接454.四数相加II-力扣(
LeetCode
)思路这道题目的暴力解法是O(n^4),可以与两数之和一样使用哈希法解决,但是必要两个嵌套for循环了!
总系学不废
·
2024-03-02 13:30
代码随想录算法训练营刷题
算法
回溯
Leetcode
37 解数独
解数独
Leetcode
37学习记录自代码随想录编写一个程序,通过填充空格来解决数独问题。数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。
mmaerd
·
2024-03-02 05:17
Leetcode刷题学习记录
leetcode
算法
职场和发展
LeetCode
刷题 [C++] 第670题.最大交换
题目描述给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。示例1:输入:2736输出:7236解释:交换数字2和数字7。示例2:输入:9973输出:9973解释:不需要交换。注意:给定数字的范围是[0,108]。题目分析从左向右查看num:如果一个数字右边有比它大的数,则选择最大的数与之交换最优;如果存在多个相同的最大数字,则选择最靠后的那个与之交换最优;将右侧最大的数字
心之所向、力之所及
·
2024-03-02 01:42
leetcode
c++
java
贪心算法
LeetCode
2670.找出不同元素数目差数组
给你一个下标从0开始的数组nums,数组长度为n。nums的不同元素数目差数组可以用一个长度为n的数组diff表示,其中diff[i]等于前缀nums[0,…,i]中不同元素的数目减去后缀nums[i+1,…,n-1]中不同元素的数目。返回nums的不同元素数目差数组。注意nums[i,…,j]表示nums的一个从下标i开始到下标j结束的子数组(包含下标i和j对应元素)。特别需要说明的是,如果i>
吃着火锅x唱着歌
·
2024-03-02 01:42
LeetCode
leetcode
算法
数据结构
LeetCode
.148.排序链表(自顶向下递归,自底向上)
题目描述:来自
LeetCode
方法一:自顶向下+递归思路:因为要求(NlongN)时间复杂度,可能会想到二分,归并等排序方法,这里对链表的合并,因为不是有序,所以用归并比较合适。
头发没了还会再长
·
2024-03-02 01:41
leetcode
链表
算法
递归
归并排序
Leetcode
583. 两个字符串的删除操作 -代码随想录
题目:代码(首刷自解2024年2月29日):classSolution{public://动态规划好像和找最长公共子序列一样?intminDistance(stringword1,stringword2){intsz1=word1.size();intsz2=word2.size();//dpinitvector>dp(sz1+1,vector(sz2+1,0));for(inti=0;i<=sz
meeiuliuus
·
2024-03-01 16:29
#
leetcode
---medium
算法
动态规划
c++
leetcode
【力扣白嫖日记】570.至少有5名直接下属的经理
前言练习sql语句,所有题目来自于力扣(https://
leetcode
.cn/problemset/database/)的免费数据库练习题。
Gary.Li
·
2024-03-01 16:59
力扣刷题
leetcode
数据库
sql
代码随想录day5:哈希表part1,哈希基本思路,HashSet&HashMap用法
文章目录day5:哈希表part1242.有效的字母异位词349.两个数组的交集202.快乐数1.两数之和day5:哈希表part1242.有效的字母异位词242.有效的字母异位词-力扣(
LeetCode
O_ra_Cle
·
2024-03-01 00:06
代码随想录
哈希算法
散列表
算法
不错链接整理
不错链接整理算法https://github.com/MisterBooo/
LeetCode
Animation手把手撕
LeetCode
题目,扒各种算法套路的裤子https://github.com/labuladong
xushuanglu_csdn
·
2024-02-29 01:09
提升
学习
开源
LeetCode
59. 螺旋矩阵 II(C++)
LeetCode
59.螺旋矩阵II题目链接代码题目链接https://
leetcode
.cn/problems/spiral-matrix-ii/代码classSolution{public:vector
板砖大的砖头
·
2024-02-29 01:08
矩阵
c++
线性代数
开发语言
leetcode
代码随想录算法训练营day02|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
-力扣(
LeetCode
)文章讲解:代码随想录视频讲解:双指针法经典题目|
LeetCode
:977.有序数组的平方_哔哩哔哩_bilibili1.暴力解法classSolution:defsortedSquares
一只马儿️
·
2024-02-28 20:03
算法
算法沉淀——动态规划之简单多状态 dp 问题(下)(
leetcode
真题剖析)
动态规划之简单多状态dp问题01.买卖股票的最佳时机含冷冻期02.买卖股票的最佳时机含手续费03.买卖股票的最佳时机III04.买卖股票的最佳时机IV01.买卖股票的最佳时机含冷冻期题目链接:https://
leetcode
.cn
爱学习的鱼佬
·
2024-02-28 19:32
算法沉淀
算法
动态规划
leetcode
leetcode
704. 二分查找
leetcode
704.二分查找:https://
leetcode
.cn/problems/binary-search/description/给定一个n个元素有序的(升序)整型数组nums和一个目标值
~柠月如风~
·
2024-02-28 19:01
LeetCode
leetcode
c语言
二刷代码随想录算法训练营第七天 |454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
LeetCode
:454.四数相加II题目:给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0&nums1,vector&nums2
magic bamboo
·
2024-02-28 11:23
算法
leetcode
哈希算法
LeetCode
--45
45.跳跃游戏II给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处:0&nums){intans=0;intstart=0;intend=1;while(end
丘小羽
·
2024-02-28 07:47
leetcode
算法
职场和发展
Leetcode
146:LRU缓存(高频题)
问题描述思路简述LRU缓存是非常常用的页面置换算法,在操作系统、Redis内存型数据库里面都大量用到了LRU的思想,核心思想是通过双向链表和哈希表来实现,每次淘汰就淘汰双向链表的末尾节点,插入或者查找元素时就将(新)节点移动到链表头,表示是最近刚使用过的元素,双向链表的末尾节点就是最近最少使用到的元素,也是在Capacity满了以后需要淘汰的。具体的说,代码实现的时候需要自建双链表:GET操作时,
chenz1hao
·
2024-02-28 05:13
数据结构
LRU
leetcode
双向链表
哈希表
LeetCode
206: 反转链表.
题目描述给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例解题方法假设链表为1→2→3→∅,我们想要把它改成∅←1←2←3。在遍历链表时,将当前节点的next指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。代码//*//*Definitionforsingly-linkedlist.//*
一个小猴子`
·
2024-02-28 04:13
LeetCode
链表
数据结构
【
leetcode
每日一题】【滑动窗口长度固定】643.子数组最大平均数
643.子数组最大平均数长度固定给你一个由n个元素组成的整数数组nums和一个整数k。请你找出平均数最大且长度为k的连续子数组,并输出该最大平均数。示例1:输入:nums=[1,12,-5,-6,50,3],k=4输出:12.75解释:最大平均数(12-5-6+50)/4=51/4=12.75思路:维护的本质上就是滑动窗口里的子数组。右指针向前为了寻找平均数最大,左指针向前为了符合要求:长度为k。
凭栏听雨客
·
2024-02-28 01:08
#
LeetCode刻意练习
数据结构与算法之美
leetcode
算法
javascript
上一页
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
其他