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
62. 不同路径 | 动态规划+递归优化详解
在解
LeetCode
的过程中,路径计数问题是动态规划中一个经典的例子。今天我来分享一道非常基础但极具代表性的题目——不同路径。不仅适合初学者入门DP(动态规划),还能帮助你打下递归思维的基础。
gentle_ice
·
2025-02-24 13:15
leetcode
动态规划
算法
数据结构
【2024】
LeetCode
HOT 100——贪心算法
目录1.买卖股票的最佳时机1.1C++实现1.2Python实现1.3时空分析2.跳跃游戏2.1C++实现2.2Python实现2.3时空分析3.跳跃游戏II3.1C++实现3.2Python实现3.3时空分析4.划分字母区间4.1C++实现4.2Python实现4.3时空分析1.买卖股票的最佳时机原题链接:121.买卖股票的最佳时机实际上就是计算maxj<i(ai
「已注销」
·
2025-02-24 11:28
leetcode
贪心算法
算法
Hot100 栈
20.有效的括号-力扣(
LeetCode
)左括号入栈右括号匹配上peek就出栈不匹配报错最后栈不为空报错classSolution{publicbooleanisValid(Strings){Stackstack
Coco_9264
·
2025-02-24 11:58
算法
Hot100 动态规划
动态规划动规五部曲:确定dp数组以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组70.爬楼梯-力扣(
LeetCode
)爬到第一层楼梯有一种方法,爬到二层楼梯有两种方法。
Coco_9264
·
2025-02-24 11:58
动态规划
算法
Hot100 贪心算法
如果非要说这些题的共性,也许就是:在边界内不断寻找最优解121.买卖股票的最佳时机-力扣(
LeetCode
)总结一下思路就是:如果第i天卖出股票,则最大利润为(该天的股价-前面天数中最小的股价),然后与已知的最大利润比较
Coco_9264
·
2025-02-24 10:18
贪心算法
算法
【
LeetCode
第93题】复原IP地址(java实现)
【
LeetCode
第93题】复原IP地址递归+回溯代码实现总结题目:给定一个只包含数字的字符串,复原它并返回所有可能的IP地址格式。
独钓清水河
·
2025-02-24 09:15
刷题笔记
leetcode
剪枝
递归法
算法
LeetCode
--124. 二叉树中的最大路径和
124.二叉树中的最大路径和二叉树中的路径被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中至多出现一次。该路径至少包含一个节点,且不一定经过根节点。路径和是路径中各节点值的总和。给你一个二叉树的根节点root,返回其最大路径和。dfs比较容易想到的思路就是深度优先搜索,首先应该定义一个ans遍历,存储我们遍历到的最大值,然后深搜参数传递节点指针以及ans指针,在
Rinai_R
·
2025-02-24 09:44
LeetCode
leetcode
算法
职场和发展
学习
go
LeetCode
--82. 删除排序链表中的重复元素 II
82.删除排序链表中的重复元素II给定一个已排序的链表的头head,删除原始链表中所有重复数字的节点,只留下不同的数字。返回已排序的链表。基本思路是遍历Node,当Node.Val!=Node.Next.Val时,存储当前Node作为Pre节点,如果相等,存储当前Node的Val作为PreVal,之后若满足Node.Val==PreVal,或者Node.Val==Node.Next.Val,即满足
Rinai_R
·
2025-02-24 09:44
LeetCode
leetcode
链表
算法
数据结构
golang
LeetCode
刷题 面试题39.数组中出现次数超过一半的数字
题目要求:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。分析:使用归并排序中分治思想,先将数组中数字递归划分,然后再合并进行排序同时统计逆序数。classSolution{public:intreverseCount=0;intreversePairs(vector&nums){if(nums.empty())retur
_深海凉_
·
2025-02-24 04:38
LeetCode
LeetCode
3254. 长度为 K 的子数组的能量值 I
-力扣(
LeetCode
)题目给你一个长度为n的整数数组nums和一个正整数k。一个数组的能量值定义为:如果所有元素都是依次连续且上升的,那么能量值为最大的元素。否则为-1。
万事只有开头
·
2025-02-24 03:01
leetcode
算法
职场和发展
LeetCode
热题100刷题12
23.合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。与合并两个有序链表类似,但是需要在k个链表节点中找到最小的。考虑使用优先队列。classSolution{classStatusimplementsComparable{intval;ListNodenode;publicStatus(intval,ListNodenode){t
Liwan95
·
2025-02-24 00:09
LeetCode
leetcode
算法
职场和发展
python-
leetcode
-二叉树的中序遍历
94.二叉树的中序遍历-力扣(
LeetCode
)方法1:递归实现#Definitionforabinarytreenode.
Joyner2018
·
2025-02-23 23:37
leetcode
算法
职场和发展
Leetcode
基础算法-贪心算法
找零问题2贪心算法的特征3贪心算法正确性的证明4贪心算法三步走5举个栗子一位家长为孩子们分发饼干的问题示例解题思路贪心算法三步走的方法代码实现复杂度分析[1710.卡车上的最大单元数](https://
leetcode
.cn
machenme
·
2025-02-23 22:01
算法
leetcode
贪心算法
python
leetcode
之hot100---240搜索二维矩阵II(C++)
思路一:通过遍历主对角线上元素判断查找方向主对角线遍历:遍历主对角线上的每个元素(matrix[i][i]),其中i的范围是[0,min(m,n)-1]。如果目标值小于当前主对角线元素,说明目标值可能在当前元素的左上区域(即当前行的左侧或当前列的上方)。如果目标值大于主对角线上的所有元素,则需要在剩余的行和列中继续查找。二分查找辅助函数:binarySearchRow:在给定的行范围[0,colL
axxy2000
·
2025-02-23 22:58
算法
数据结构
LeetCode
Hot100刷题——最小路径和(动态规划)
64.最小路径和给定一个包含非负整数的mxn网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。示例2:输入:grid=[[1,2,3],[4,5,6]]输出:12提示:m==grid.lengthn==grid[
圈圈编码
·
2025-02-23 20:47
leetcode
算法
职场和发展
动态规划
java
蓝桥与
力扣刷题
(蓝桥 好数)
题目:一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位⋯⋯)上的数字是奇数,偶数位(十位、千位、十万位⋯⋯)上的数字是偶数,我们就称之为“好数”。给定一个正整数N,请计算从1到N一共有多少个好数。输入格式一个整数N。输出格式一个整数代表答案。样例输入124样例输出17样例输入22024样例输出2150样例说明对于第一个样例,24以内的好数有1、3、5、7、9、21、23,一共7个。解题思
এ旧栎
·
2025-02-23 20:46
leetcode
算法
职场和发展
学习方法
java
leetcode
205. 同构字符串-java实现
题目所属分类华为校招原题链接给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。代码案例:输入:s=“egg”,t=“add”输出:true输入:s=“foo”,t=“bar”输出:fals
依嘫_吃代码
·
2025-02-23 20:44
LeetCode
leetcode
java
算法
Leetcode
Day6 (图论I, dfs, bfs)
创建一个visited的模版#mxn大小的矩阵m=len(matrix)n=len(matrix[0])visited=[[Falsefor_inrange(n)]for_inrange(m)]foriinrange(m):forjinrange(n):blablabla#DFS模版```python200岛屿数量classSolution:defnumIslands(self,grid:List
比起村村长
·
2025-02-23 18:32
leetcode
深度优先
leetcode
图论
【Day38
LeetCode
】动态规划DP 子序列问题Ⅱ
一、动态规划DP子序列问题Ⅱ1、最长公共子序列1143确定dp数组含义,dp[i][j]表示长度为[0,i-1]的字符串text1与长度为[0,j-1]的字符串text2的最长公共子序列的长度。dp转移关系,对于当前值dp[i][j],分为text1[i-1]与text2[j-1]相同与不相同两种情况。text1[i-1]与text2[j-1]相同时,这两个字符可以作为最长公共子序列的一部分,dp
银河梦想家
·
2025-02-23 17:24
leetcode
动态规划
算法
【Day25
LeetCode
】贪心Ⅲ
一、贪心Ⅲ1、加油站134这道题直接想法是采用二重循环暴力搜索,简单粗暴但是会超时,是因为以每个点为起点最坏的情况可能都要遍历完全部的序列,有大量重复的操作,那有没有优化的地方呢?有一个结论:如果以iii位置出发最远可达jjj位置,那么在在这段区间里的任意一点出发都不可能达到比jjj位置更远的地方。反证法可以得出。可以通过这个结论避免大量重复搜索,每个位置只会经过一次。代码如下:classSolu
银河梦想家
·
2025-02-23 17:54
leetcode
算法
【Day2
LeetCode
】滑动窗口、矩阵模拟、前缀和
一、滑动窗口1、滑动窗口移动模板 对于滑动窗口算法,在解决一些子数组、子字符串问题比较常用,能够有效降低时间复杂度。该算法的关键是不断滑动,每次滑动都要维护好(更新)窗口内的状态,根据条件更新所需答案。下面给出常用的滑动窗口的伪代码模板,以字符串为例intleft=0,right=0;while(right&nums){intleft=0,right=0;//滑动窗口左、右端点ints=0,Len
银河梦想家
·
2025-02-23 17:24
leetcode
算法
【Day46
LeetCode
】图论问题 Ⅳ
一、图论问题Ⅳ1、字符串接龙采用BFS,代码如下:(判断是否在字典中需要遍历每个位置,同时遍历26中可能有点不优雅)#include#include#include#include#include#includeusingnamespacestd;intmain(){intn;cin>>n;stringsrc,des,s;cin>>src>>des;unordered_setdic;for(int
银河梦想家
·
2025-02-23 17:52
leetcode
图论
深度优先
LeetCode
:二叉树层序遍历
102.二叉树的层序遍历思路:用队列实现层序遍历1.创建二维数组最终存放二叉树的每一层的元素2.创建队列实现每一层的遍历3.遍历3.1先存放第一层节点3.2遍历每一层的节点先确定每一层节点的个数,然后通过队列存储到一维数组中,最后插入到二维数组将每一层的元素存放到新的一维数组中3.3将新数组元素插入到二维数组中4.返回二维数组/***Definitionforabinarytreenode.*st
blog_wanghao
·
2025-02-23 13:22
C++
leetcode
leetcode
---206.反转链表
206.反转链表给你单链表的头节点head,请你反转链表,并返回反转后的链表。classSolution{public:ListNode*reverseList(ListNode*head){//1.迭代法//1->2->3->4->5ListNode*prev=nullptr;//定义1位置之前的前指针ListNode*curr=head;//定义1位置的当前指针while(curr){//循环
blog_wanghao
·
2025-02-23 13:52
C++
c语言
开发语言
后端
代码随想录训练营第二十三天| 39. 组合总和 40.组合总和II 131.分割回文串
39.组合总和题目链接/文章讲解:代码随想录视频讲解:带你学透回溯算法-组合总和(对应「
leetcode
」力扣题目:39.组合总和)|回溯法精讲!
chengooooooo
·
2025-02-23 12:17
算法
力扣131题:分割回文串的 Java 实现
引言力扣(
LeetCode
)是一个在线编程平台,提供了大量的编程题目供开发者练习。第131题“分割回文串”是一个有趣的字符串处理问题,要求将一个字符串分割成尽可能多的回文子串。
杰哥的编程世界
·
2025-02-23 12:14
java算法
leetcode
java
算法
LeetCode
51
LeetCode
51目录题目描述示例思路分析代码段代码逐行讲解复杂度分析总结的知识点整合总结题目描述N皇后问题:将n个皇后放置在nxn的棋盘上,使得皇后彼此之间不能相互攻击(即任何两个皇后不能在同一行、
学编程的小程
·
2025-02-23 10:32
算法篇章-捷报
leetcode
n皇后
java
1.python实现二分查找(
力扣刷题
)
二分查找(BinarySearch),也称为折半查找,是一种高效的查找算法,适用于在有序数组中查找特定元素。其基本思想是通过将查找范围逐步减半来快速定位目标值。题目力扣704题二分查找力扣35题搜索插入位置力扣34题在排序数组中查找元素的第一个和最后一个位置力扣69题x的平方根力扣367题有效的完全平方数1.力扣704题二分查找题目给定一个n个元素有序的(升序)整型数组nums和一个目标值targ
踏雪1352
·
2025-02-23 09:22
leetcode
算法
python
动态规划
LeetCode
-494.目标和
给你一个非负整数数组nums和一个整数target。向数组中的每个整数前添加'+'或'-',然后串联起所有整数,可以构造一个表达式:例如,nums=[2,1],可以在2之前添加'+',在1之前添加'-',然后串联起来得到表达式"+2-1"。返回可以通过上述方法构造的、运算结果等于target的不同表达式的数目。示例1:输入:nums=[1,1,1,1,1],target=3输出:5解释:一共有5种
欧了111
·
2025-02-23 08:17
动态规划
动态规划
leetcode
算法
c语言
01背包
leetcode
题目解析 第3题 无重复字符的最长子串
给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s=“abcabcbb”输出:3解释:因为无重复字符的最长子串是“abc”,所以其长度为3。示例2:输入:s=“bbbbb”输出:1解释:因为无重复字符的最长子串是“b”,所以其长度为1。示例3:输入:s=“pwwkew”输出:3解释:因为无重复字符的最长子串是“wke”,所以其长度为3。请注意,你的答案必须是子串的长度,
大脑经常闹风暴@小猿
·
2025-02-23 01:25
leetcode
leetcode
linux
算法
回溯算法 15. N皇后(难)
回溯算法15.N皇后(难)51.N皇后-力扣(
LeetCode
)代码随想录难度6-困难题目理解:n皇后问题,其实可以看成:按行顺序依次摆放皇后,每一行只能放一个皇后,那么只要保证每一行新放置的皇后与之前放置的皇后之间
Mophead_Zarathustra
·
2025-02-22 21:19
Mophead的小白刷题笔记
leetcode
python
代码随想录
回溯算法
Java数据结构与算法(买卖股票的最佳时机二贪心算法)
-力扣(
LeetCode
)贪心算法原理参考:Java数据结构与算法(盛水的容器贪心算法)-CSDN博客实现原理1.定义最大利润res和下标前值pre。
盘门
·
2025-02-22 20:39
java数据结构与算法实战
java
开发语言
【Day45
LeetCode
】图论问题 Ⅲ
一、图论问题Ⅲ1、沉没孤岛这题只能从边界开始扩散,将靠近边界的陆地标记,表示不是孤岛,最后将孤岛沉没,将不是孤岛标记回陆地。#include#includeusingnamespacestd;voiddfs(vector>&graph,inti,intj){if(i=graph.size()||j=graph[0].size()||graph[i][j]!=1)return;graph[i][j]
银河梦想家
·
2025-02-22 15:05
图论
leetcode
深度优先
leetcode
329. 矩阵中的最长递增路径(Python3、c++)
文章目录
leetcode
329.矩阵中的最长递增路径方法:深度优先搜索DFS+记忆化思路:代码:Python3:cpp:结果:
leetcode
329.矩阵中的最长递增路径给定一个整数矩阵,找出最长递增路径的长度
AndyLiu1997
·
2025-02-22 14:52
Leetcode做题记录
leetcode
python
数据结构
算法
c++
leetcode
:926. 将字符串翻转到单调递增
926.将字符串翻转到单调递增来源:力扣(
LeetCode
)链接:https://
leetcode
.cn/problems/flip-string-to-monotone-increasing/如果一个二进制字符串
uncle_ll
·
2025-02-22 14:21
编程练习-Leetcode
leetcode
算法
动态规划
字符串
顺序
LeetCode
第43题_字符串相乘
LeetCode
第43题:字符串相乘题目描述给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。
@蓝莓果粒茶
·
2025-02-22 11:30
算法
leetcode
linux
算法
数据结构
c#
unity
游戏程序
2024字节总监最新总结:240道算法
LeetCode
刷题笔记(大厂面试必备)
据了解很多大厂技术面试的要求是:技术要好,计算机基础扎实,熟练掌握算法和数据结构,语言不重要,熟练度很重要。每一轮技术面试都可能考代码,不只考算法,但一定会考算法。为什么大厂都在面试算法?============这里我们引入一位美团面试官的看法美团资深工程师Windy:通过算法面试题的考察,我希望候选人不光可以展示编程能力,还可以通过详细了解题目,展示自己的沟通能力和推演能力(如何构建题目的思路)
2401_84048179
·
2025-02-22 06:50
程序员
算法
leetcode
笔记
力扣
LeetCode
: 139 单词拆分
示例1:输入:s="
leetcode
",wordDict=["leet","code"]输出:true解释:返回true因为"
leetcode
"可以由"leet"和"code"拼接成。
不想编程小谭
·
2025-02-22 02:38
LeetCode
leetcode
算法
动态规划
c++
leetcode
:236. 二叉树的最近公共祖先
236.二叉树的最近公共祖先来源:力扣(
LeetCode
)链接:https://
leetcode
.cn/problems/lowest-common-ancestor-of-a-binary-tree/
uncle_ll
·
2025-02-22 02:37
编程练习-Leetcode
leetcode
二叉树
公共父节点
算法训练
递归
LeetCode
--200. 岛屿数量
200.岛屿数量给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。正文创建一个visited二维布尔切片,来判断当前格子走没走过,遍历grid数组,发现’1’,就开始感染,同时岛屿总数+1,此后若再遇见’1’,并且没有被遍历过,说明该陆地没有与之
Rinai_R
·
2025-02-22 02:36
LeetCode
leetcode
linux
算法
golang
数据结构
LeetCode
:2595.奇偶位数
给你一个正整数n。用even表示在n的二进制形式(下标从0开始)中值为1的偶数下标的个数。用odd表示在n的二进制形式(下标从0开始)中值为1的奇数下标的个数。请注意,在数字的二进制表示中,位下标的顺序从右到左。返回整数数组answer,其中answer=[even,odd]。示例1:输入:n=50输出:[1,2]解释:50的二进制表示是110010。在下标1,4,5对应的值为1。示例2:输入:n
Vicky__3021
·
2025-02-22 01:06
每日一题
leetcode
算法
职场和发展
LeetCode
9. 回文数
LeetCode
9.回文数题目说明题目说明代码题目说明判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
坚果-果
·
2025-02-22 01:04
LeetCode
C++
LeetCode
leetcode
12. 整数转罗马数字
classSolution{public:stringintToRoman(intnum){vectorvec1={"","I","II","III","IV","V","VI","VII","VIII","IX"};vectorvec2={"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};vectorvec3={"","C","CC","CCC
lyx142606
·
2025-02-22 01:33
#
leetcode.1
--
100
leetcode
linux
算法
leetcode
8. 字符串转换整数 (atoi)
classSolution{public:intmyAtoi(strings){stringint_max="2147483647";stringint_min="2147483648";stringnum="";inti=0;intlen=s.size();…for(autoit:newnum){ans=ans*10+(it-48);}returnans*-1;}}};
lyx142606
·
2025-02-22 01:33
算法
leetcode
2056. 棋盘上有效移动组合的数目
classSolution{private:vector>RMove={{1,0},{-1,0},{0,1},{0,-1}};vector>BMove={{1,1},{-1,-1},{-1,1},{1,-1}};public:boolCheckMove(intsx,intsy,intx,inty,intstep,vector>>&timeMap){if(sx+x*step=8||sy+y*step
lyx142606
·
2025-02-22 01:03
leetcode
算法
职场和发展
leetcode
1.两数之和
classSolution{public:vectortwoSum(vector&nums,inttarget){intn=nums.size();for(inti=0;i<n;++i){for(intj=i+1;j<n;++j){if(nums[i]+nums[j]==target){return{i,j};}}}return{};}};
lyx142606
·
2025-02-22 01:02
#
leetcode.1
--
100
leetcode
算法
职场和发展
leetcode
9. 回文数(C++)
题目给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是。示例1:输入:x=121输出:true示例2:输入:x=-121输出:false解释:从左向右读,为-121。从右向左读,为121-。因此它不是一个回文数。示例3:输入:x=10输出:false解释:从右向左读,为01。因此它
falldeep
·
2025-02-22 01:00
leetcode
leetcode
9. 回文数
classSolution{public:boolisPalindrome(intx){if(x2147483647){returnfalse;}else{y=y*10;y+=x%10;x/=10;}}if(z==y){returntrue;}else{returnfalse;}}}};
lyx142606
·
2025-02-22 01:57
#
leetcode.1
--
100
算法
数据结构
leetcode
组合出合法最小数
题目描述题目描述给一个数组,数组里面都是代表非负整数的字符串,将数组里所有的数值排列组合拼接起来组成一个数字,输出拼成的最小的数字。输入描述一个数组,数组不为空,数组里面都是代表非负整数的字符串,可以是0开头,例如:[”13","045","09","56"].输出描述:以字符串的格式输出一个数字,如果最终结果是多位数字,要优先选择输出不是“0”开头的最小数字:如果拼接出的数字都是“0”开头,则选
一只呆呆鹅
·
2025-02-21 23:11
java
算法
排序算法
华为面试
华为
BFS算法——层层推进,最短之路,广度优先搜索算法的诗意旅程(下)
文章目录引言一.迷宫中离入口最近的出口1.1题目链接:https://
leetcode
.cn/problems/nearest-exit-from-entrance-in-maze/1.2题目分析:1.3
诚丞成
·
2025-02-21 22:06
常用算法讲解
算法
宽度优先
上一页
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
其他