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
随想
代码
随想
录算法训练营第十三天
递归遍历二叉树的前,中,后序遍历题目链接前序遍历中序遍历后序遍历前序遍历题解classSolution{publicListpreorderTraversal(TreeNoderoot){Listlist=newArrayListlist,TreeNoderoot){if(root==null){return;}list.add(root.val);preorder(list,root.left)
天天开心(∩_∩)
·
2025-07-08 23:57
算法
将有序数组转化为二叉树
本文参考代码
随想
录将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。思路:寻找分割点,分割点作为当前节点,然后递归左区间和右区间。
·
2025-07-07 10:09
代码
随想
录算法训练营第十一天
LeetCode.150逆波兰表达式求值题目链接逆波兰表达式求值题解classSolution{publicintevalRPN(String[]tokens){Stackcstack=newStackset=newHashSetdeque=newLinkedListdeque.getLast()){deque.removeLast();}deque.add(val);}intpeek(){ret
天天开心(∩_∩)
·
2025-07-06 22:50
算法
[代码
随想
录算法训练营 Day09 字符串 Part2]
Day09文章目录Day09字符串6.实现strStr(力扣28)7.重复的子字符串(力扣459)字符串今天两道KMP:KMP功能,在一个字符串中找到是否出现另一个字符串本篇会再更新~6.实现strStr(力扣28)题目描述:找出字符串中第一个匹配项的下标heystack干草堆,needle针,大海捞针~思路:KMP算法B站一个讲的很好的视频整体思路:假设有主串n和模式串m,在暴力算法当中,每当主
yancyss
·
2025-07-06 05:29
算法
python
开发语言
代码
随想
录算法训练营第二十一天|回溯算法理论基础,77. 组合
系列文章目录代码
随想
录算法训练营第一天|数组理论基础,704.二分查找,27.移除元素代码
随想
录算法训练营第二天|977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II代码
随想
录算法训练营第三天
丁希希哇
·
2025-07-05 18:13
力扣算法刷题
算法
面试
python
力扣
数据结构
剪枝
【回溯算法】|代码
随想
录算法训练营第19天|77. 组合、216.组合总和III、17.电话号码的字母组合
刷题神器代码
随想
录往期回顾>【二叉树】|代码
随想
录算法训练营第18天|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树、【总结】题目理论基础文章:文章讲解视频
小白糖的狗狗叫鸡蛋
·
2025-07-05 17:11
15-数据结构与算法
算法
redis
数据库
代码
随想
录算法训练营第34天 | 第九章动态规划 part07
文章目录第九章动态规划Part07198.打家劫舍213.打家劫舍II337.打家劫舍III第九章动态规划Part07今天是打家劫舍的一天,这个系列题目不算难,大家可以一口气拿下。198.打家劫舍视频讲解:https://www.bilibili.com/video/BV1Te411N7SX题解链接:https://programmercarl.com/0198.%E6%89%93%E5%AE%B
tt555555555555
·
2025-07-05 12:34
C++学习
算法
动态规划
代码
随想
录算法训练营第四十三天|动态规划part10
300.最长递增子序列题目链接:代码
随想
录文章讲解:代码
随想
录错误解答:dp[i]表示前i个元素的最长递增子序列的长度classSolution{public:intlengthOfLIS(vector
xindafu
·
2025-07-05 12:04
动态规划
算法
代码
随想
录算法训练营第四十四天|动态规划part11
1143.最长公共子序列题目链接:1143.最长公共子序列-力扣(LeetCode)文章讲解:代码
随想
录思路:其实就是求两个字符串的最长公共子序列的长度与公共子数组的区别是可以不连续,顺序对就可以状态转移方程不一样定义
·
2025-07-05 12:04
代码
随想
录算法训练营第四十五天|动态规划part12
115.不同的子序列题目链接:115.不同的子序列-力扣(LeetCode)文章讲解:代码
随想
录定义dp[i][j]表示s0-i-1与t0-j-1不同的子序列的个数以s=batgtgt=bag为例子s【
xindafu
·
2025-07-05 12:04
算法
动态规划
代码
随想
录算法训练营第二十九天|贪心算法part3
134.加油站题目链接:134.加油站-力扣(LeetCode)文章讲解:代码
随想
录classSolution{public:intcanCompleteCircuit(vector&gas,vector
xindafu
·
2025-07-05 12:34
贪心算法
算法
代码
随想
录算法训练营第三十七天|动态规划part4
1049.最后一块石头的重量II题目链接:1049.最后一块石头的重量II-力扣(LeetCode)文章讲解:代码
随想
录思路:理解为把石头分成两堆使得两堆的差值尽可能小求这个最小值1理解为往背包里装物品每个物品的重量为石头的重量价值也为石头的价值
·
2025-07-05 12:34
代码
随想
录算法训练营第二十八天|贪心算法part2
122.买卖股票的最佳时机II题目链接:122.买卖股票的最佳时机II-力扣(LeetCode)文章讲解:代码
随想
录思路:这道题的思路很巧妙最终利润是可以分解的假如第0天买入,第3天卖出,那么利润为:prices
xindafu
·
2025-07-05 12:33
贪心算法
算法
代码
随想
录算法训练营第四十六天 | 动态规划 part13
647.回文子串classSolution{public:intcountSubstrings(strings){vector>dp(s.size(),vector(s.size(),false));intresult=0;for(inti=s.size()-1;i>=0;i--){for(intj=i;j=j-1){dp[i][j]=true;result++;}elseif(dp[i+1][j
sagen aller
·
2025-07-05 12:01
算法
动态规划
代码
随想
录算法训练营第四十六天|动态规划part13
647.回文子串题目链接:647.回文子串-力扣(LeetCode)文章讲解:代码
随想
录思路:以dp【i】表示以s【i】结尾的回文子串的个数,发现递推公式推导不出来此路·不通以dp【i】【j】表示s【i
xindafu
·
2025-07-05 12:28
算法
动态规划
代码
随想
录算法训练营第二十二天|LeetCode 77 组合,LeetCode 216 组合总和 III,LeetCode 450 删除二叉搜索树中的节点
1.LeetCode77组合题目链接:77.组合classSolution:defcombine(self,n:int,k:int)->List[List[int]]:defbacktracking(n,k,startIndex,path,result):iflen(path)==k:result.append(path[:])returnforiinrange(startIndex,n-(k-l
二师兄呀1001
·
2025-07-04 09:28
代码随想录算法训练营
算法
leetcode
职场和发展
图论基础知识 深度优先(Depth First Search, 简称DFS),广度优先(Breathe First Search, 简称BFS)
图论基础知识学习记录自代码
随想
录dfs与bfs区别dfs是沿着一个方向去搜,不到黄河不回头,直到搜不下去了,再换方向(换方向的过程就涉及到了回溯)。
mmaerd
·
2025-06-30 23:27
Leetcode刷题学习记录
深度优先
图论
宽度优先
机考
代码
随想
录|图论|07岛屿的最大面积
leetcode:100.岛屿的最大面积题目题目描述给定一个由1(陆地)和0(水)组成的矩阵,计算岛屿的最大面积。岛屿面积的计算方式为组成岛屿的陆地的总数。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。输入描述第一行包含两个整数N,M,表示矩阵的行数和列数。后续N行,每行包含M个数字,数字为1或者0,表示岛屿的单元格。输出描述输出一个整数,表示岛屿的最
Paper Clouds
·
2025-06-30 23:26
算法
深度优先
图论
数据结构
c++
代码
随想
录: 图论| 岛屿数量
题目链接:99.岛屿数量题目描述:给定一个由1(陆地)和0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。输入描述:第一行包含两个整数N,M,表示矩阵的行数和列数。后续N行,每行包含M个数字,数字为1或者0。输出描述:输出一个整数,表示岛屿的数量。如果不存在岛屿,则输出0。输入示例:4511000110000010
王鹏程_
·
2025-06-30 23:23
深度优先
算法
岛屿数量
图论
代码
随想
录算法训练营第52天 | 101.孤岛的总面积 、102.沉没孤岛、103.水流问题、104.建造最大岛屿
101.孤岛的总面积importjava.util.*;publicclassMain{privatestaticintcount=0;privatestaticfinalint[][]dir={{0,1},{1,0},{-1,0},{0,-1}};//四个方向privatestaticvoidbfs(int[][]grid,intx,inty){Queueque=newLinkedList=gr
Amor_Fati_Yu
·
2025-06-28 15:53
算法
java
数据结构
代码
随想
录算法训练营第52天| 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104.建造最大岛屿
101.孤岛的总面积卡码题目链接:101.孤岛的总面积学习链接:代码
随想
录题解:法一:count=0defdfs(grid,x,y):globalcountgrid[x][y]=0count+=1directions
扛过今天777
·
2025-06-28 15:52
算法
深度优先
代码
随想
录算法训练营第一天|704.二分查找、35.搜索插入位置、34.在排序数组中查找元素的第一个和最后一个位置、27.移除元素、977.有序数组的平方
LeetCode704二分查找题目链接二分查找左闭右闭写法classSolution{publicintsearch(int[]nums,inttarget){intleft=0,right=nums.length-1;if(targetnums[right]){return-1;}while(left>1);if(target>nums[mid]){left=mid+1;}if(targetnu
天天开心(∩_∩)
·
2025-06-28 00:16
算法
leetcode
数据结构
代码
随想
录| 图论01 ●深度优先搜索知识 ●797所有可能的路径 ●广度优先搜索知识 ●200 岛屿数量dfs ●200 岛屿数量bfs
#dfs知识看了一下感觉和二叉树,和回溯,没啥区别。#797所有可能路径普通回溯,很快path.push_back(0);要提前写不要忘了。另外path不要担心不需要归零,他每次回溯call完了会退回去的vector>res;vectorpath;voiddfs(intnode,intn,vector>&graph){if(node==n-1){res.push_back(path);return
weixin_51674457
·
2025-06-27 08:00
代码随想录一刷
深度优先
图论
宽度优先
代码
随想
录|图论理论基础
1.图的种类(有向图和无向图)有向图:图中边有方向无向图:图中边无方向加权有向图:图中边是有权值和方向的,无向图也是如此2.度(无向图中有几条边连接该节点,该节点就有几度)出度:从该节点出发的边的个数入度:指向该节点边的个数3.连通性(在图中表示节点的联通情况,我们称之为连通性)连通图:在无向图中,任何两个节点都是可以到达的(可以借助其他节点)非连通图:有节点不能到达其他节点强连通图:在有向图中,
·
2025-06-27 08:58
20240820 代码
随想
录 | 图论 岛屿
98.所有可达路径深度优先搜索(dfs)和广度优先搜索(bfs)区别:dfs是可一个方向去搜,不到黄河不回头,直到遇到绝境了,搜不下去了,再换方向(换方向的过程就涉及到了回溯)。bfs是先把本节点所连接的所有节点遍历一遍,走到下一个节点的时候,再把连接节点的所有节点遍历一遍,搜索方向更像是广度,四面八方的搜索过程。n,m=map(int,input().split())print(''.join(
m0_46259676
·
2025-06-27 08:28
图论
算法
20240821 代码
随想
录 | 图论
103.水流问题dfs深度优先搜素directions=[[0,1],[0,-1],[1,0],[-1,0]]set_1=set()set_2=set()n,m=map(int,input().split())g=[]for_inrange(n):g.append(list(map(int,input().split())))defdfs(g,x,y,visited,s):visited[x][y
m0_46259676
·
2025-06-27 08:28
图论
代码
随想
录|图论|04广度优先搜索理论基础
广搜的使用场景广搜的搜索方式就适合于解决两个点之间的最短路径问题。因为广搜是从起点出发,以起始点为中心一圈一圈进行搜索,一旦遇到终点,记录之前走过的节点就是一条最短路。当然,也有一些问题是广搜和深搜都可以解决的,例如岛屿问题,这类问题的特征就是不涉及具体的遍历方式,只要能把相邻且相同属性的节点标记上就行。(我们会在具体题目讲解中详细来说)比如下面这个图,从start开始慢慢向外扩展,第4次扩展才到
Paper Clouds
·
2025-06-27 08:25
图论
宽度优先
算法
数据结构
leetcode
c++
代码
随想
录|图论|05岛屿数量(深搜DFS)
leetcode:99.岛屿数量题目题目描述:给定一个由1(陆地)和0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。输入描述:第一行包含两个整数N,M,表示矩阵的行数和列数。后续N行,每行包含M个数字,数字为1或者0。输出描述:输出一个整数,表示岛屿的数量。如果不存在岛屿,则输出0。思路遇到一个没有遍历过的节点陆
Paper Clouds
·
2025-06-27 08:25
图论
深度优先
算法
数据结构
leetcode
代码
随想
录day16二叉树4
文章目录513.找树左下角的值112.路径总和113.路径总和II106.从中序与后序遍历序列构造二叉树105.从前序与中序遍历序列构造二叉树513.找树左下角的值题目链接文章讲解/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),lef
皮蛋瘦肉粥_121
·
2025-06-27 07:22
二叉树
数据结构
代码
随想
录day13二叉树1
文章目录二叉树的递归遍历二叉树前序遍历二叉树后序遍历二叉树中序遍历二叉树层序遍历102.二叉树的层序遍历107.二叉树的层序遍历II199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针117.填充每个节点的下一个右侧节点指针II104.二叉树的最大深度111.二叉树的最小深度二叉树的递归遍历文章讲解确定递归函数的
皮蛋瘦肉粥_121
·
2025-06-27 07:52
二叉树
代码
随想
录day15 二叉树3
题目:110.平衡二叉树(优先掌握递归)257.二叉树的所有路径(优先掌握递归)404.左叶子之和(优先掌握递归)222.完全二叉树的节点个数(优先掌握递归)需要重做:全部110.平衡二叉树(优先掌握递归)思路:getHeight函数,如果不平衡,返回-1,否则返回当前左右子树最大值+1;注意:此题需if(cur==null)就返回,因为不一定是叶子!可能1的左子树不为空,右子树为空,这样就遍历不
m0_74187270
·
2025-06-27 07:20
算法
数据结构
代码
随想
录day14 Java版 二叉树部分
今天开始刷二叉树的题目,发现大多数都是在昨天的遍历的基础上的变式226.翻转二叉树根据题目描述模拟整个交换过程,发现非常像前序遍历的递归方式:每次先将当前节点的左右孩子互换,再递归左右孩子,当节点为空的时候停下。(实际上看了题解发现除了中序遍历先处理了左边,回到中间节点时将左右颠倒了,之后处理“右边”部分相当于把左边转了回来。可以把处理完中间节点的代码改成依然处理左边)我最开始在写题的时候将交换功
洒水水儿
·
2025-06-27 07:48
代码随想录打卡
算法
leetcode
职场和发展
代码
随想
录day15 Java版 二叉树部分
222.完全二叉树的节点个数自己做没想出来完全二叉树这个条件怎么利用,直接递归遍历了classSolution{publicintcountNodes(TreeNoderoot){if(root==null)return0;returncountNodes(root.left)+countNodes(root.right)+1;}}但看了题解,如果判断子树为满二叉树,可以直接套公式关键在于怎么判断
洒水水儿
·
2025-06-27 07:48
代码随想录打卡
算法
leetcode
数据结构
代码
随想
录day16 二叉树
513.找树左下角的值给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。层序遍历,只不过是右边的节点先入队,所以最后的就是左边节点的值。classSolution{publicintfindBottomLeftValue(TreeNoderoot){Dequedeque=newLinkedListdeque=newLinkedListdequeVal
Hoshinoharuka
·
2025-06-27 07:17
java
算法
数据结构
代码
随想
录day15二叉树3
文章目录222.完全二叉树的节点个数110.平衡二叉树257.二叉树的所有路径404.左叶子之和222.完全二叉树的节点个数题目链接文章讲解/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nul
皮蛋瘦肉粥_121
·
2025-06-27 07:14
二叉树
LeetCode:90.子集II
代码
随想
录LeetCode:90.子集II给你一个整数数组nums,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。返回的解集中,子集可以按任意顺序排列。
xiaoshiguang3
·
2025-06-24 13:05
代码随想录-跟着Carl学算法
leetcode
算法
java
【
随想
录】Day38—第九章 动态规划part01
目录题目1:509.斐波那契数1-思路动规五部曲2-题解⭐斐波那契数——题解思路题目2:70.爬楼梯1-思路2-题解⭐爬楼梯——题解思路题目3:746.使用最小花费爬楼梯1-思路2-题解⭐使用最小花费爬楼梯——题解思路题目1:509.斐波那契数题目链接:509.斐波那契数1-思路动规五部曲1.确定dp数组(dptable)以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例
山脚ice
·
2025-06-22 08:13
算法
动态规划
算法
代码
随想
录算法训练营43期 | Day 10——栈与队列part1
代码
随想
录算法训练营代码
随想
录算法训练营43期|Day10232.用栈实现队列225.用队列实现栈20.有效的括号1047.删除字符串中的所有相邻重复项代码
随想
录算法训练营43期|Day10232.用栈实现队列
当代优秀青年
·
2025-06-22 07:30
C++
算法
算法
开发语言
c++
代码
随想
录day8字符串1
344.反转字符串题目链接文章讲解ACclassSolution{public:voidreverseString(vector&s){intmid=s.size()/2;for(inti=0,j=s.size()-1;i#include#include#include#include#include#include#include#include#include#include#include#
皮蛋瘦肉粥_121
·
2025-06-22 06:29
算法
数据结构
代码
随想
录算法day10 | 栈与队列part02 | 150. 逆波兰表达式求值,239. 滑动窗口最大值,347.前 K 个高频元素
150.逆波兰表达式求值力扣题目链接(opensnewwindow)根据逆波兰表示法,求表达式的值。有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为0的情况。示例1:输入:["2","1","+","3","*"]输出:9解释:该算式转化为常见的中缀算术表达式
不是很强 但是很秃
·
2025-06-22 06:58
LeetCode算法
算法
java
数据结构
leetcode
排序算法
代码
随想
录Day49 42. 接雨水,84.柱状图中最大的矩形。
1.接雨水力扣题目链接(opensnewwindow)给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下,可以接6个单位的雨水(蓝色部分表示雨水)。示例2:输入:height=[4
get_zhang_
·
2025-06-22 06:28
代码随想录训练营
单调栈
算法
数据结构
leetcode
笔记
单调栈
Day10 栈与队列part01
文章讲解:代码
随想
录232.用栈实现队列大家可以先看视频,了解一下模拟的过程,然后写代码会轻松很多。
·
2025-06-22 06:26
代码
随想
录day10 栈和队列初探
232.用栈实现队列题目使用栈实现队列的下列操作:push(x)--将一个元素放入队列的尾部。pop()--从队列首部移除元素。peek()--返回队列首部的元素。empty()--返回队列是否为空。思考经过昨天KMP的洗礼后,今天看stack实在太开心了,主要自己还做过这题,难题其实就在于pop那个环节,要做到先进先出需要两个栈来完成:stIn将首元素依次放入到stOut底部,stOut将原先为
nahiyil
·
2025-06-22 06:55
算法
数据结构
代码
随想
录算法训练营第三十八天| 322. 零钱兑换 279.完全平方数 139.单词拆分
代码
随想
录算法训练营第三十八天|322.零钱兑换279.完全平方数139.单词拆分322.零钱兑换279.完全平方数139.单词拆分入营第三十八天难度:难计划任务完成任务322.零钱兑换动态规划五部曲:
z542968z
·
2025-06-21 13:42
算法
代码
随想
录算法训练营第38天 | 322. 零钱兑换 279.完全平方数 139.单词拆分 背包问题总结
|LeetCode:322.零钱兑换_哔哩哔哩_bilibili代码
随想
录classSolution{publicintcoinChange(int[]
ohnoooo9
·
2025-06-21 13:10
代码随想录算法训练营打卡
算法
代码
随想
录第38天| 322. 零钱兑换 、139.单词拆分
一、零钱兑换和上楼梯一样,不难想注意这里是min,注意初始化代码:classSolution{public:intcoinChange(vector&coins,intamount){vectordp(amount+1,INT_MAX);dp[0]=0;for(inti=0;i&wordDict){//哈希表:查看元素是否在集合内unordered_setword(wordDict.begin()
m0_61777539
·
2025-06-21 13:09
算法
leetcode
动态规划
代码
随想
录算法训练营第三十八天 | 322.零钱兑换 279.完全平方数 139.单词拆分
322.零钱兑换题目链接:322.零钱兑换-力扣(LeetCode)文章讲解:代码
随想
录视频讲解:动态规划之完全背包,装满背包最少的物品件数是多少?
m0_50413530
·
2025-06-21 13:09
算法
代码
随想
录算法训练营第38天| 322. 零钱兑换、279.完全平方数、139.单词拆分
模板:今日学习的文章链接和视频链接自己看到题目的第一想法看完代码
随想
录之后的想法自己实现过程中遇到哪些困难今日收获,记录一下自己的学习时长322.零钱兑换题目链接:322.零钱兑换-力扣(LeetCode
扛过今天777
·
2025-06-21 13:06
算法
代码
随想
录算法训练营第38天 | 322. 零钱兑换、279.完全平方数、139.单词拆分
322.零钱兑换题目链接:.-力扣(LeetCode)funccoinChange(coins[]int,amountint)int{ifamount==0{return0}dp:=make([]int,amount+1)forj:=rangedp{dp[j]=amount+1}dp[0]=0fori:=rangecoins{forj:=coins[i];jamount{return-1}retu
百卷-星河
·
2025-06-21 13:06
算法
代码
随想
录day3链表1
new关键字1.new是一个关键字,用于开辟空间,开辟的空间在堆上,而一般声明的变量存放在栈上;2.new得到的是一段空间的首地址。所以一般需要用指针来存放这段地址newint(10);//返回new出来这块内存的地址int*p=newint(10);//用一个指针去接受这个地址cout#include#include#include#include#include#include#include
皮蛋瘦肉粥_121
·
2025-06-19 13:05
算法
上一页
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
其他