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
Narci随想录
戴着镣铐跳舞
——读《琼美卡
随想录
》有感关于木心作品的文学价值一直是有争议的,这本《琼美卡
随想录
》是大家公认的一本较为出色的。初次拜读,读出了一种咖啡的味道,入口,略苦,细品之,泛甜。
萋萋芳
·
2024-02-04 19:02
代码
随想录
算法训练营day 21|第六章 二叉树part07
530.二叉搜索树的最小绝对差需要领悟一下二叉树遍历上双指针操作,优先掌握递归题目链接/文章讲解:代码
随想录
视频讲解:二叉搜索树中,需要掌握如何双指针遍历!
.wsy.
·
2024-02-04 18:51
代码随想录训练营
算法
代码
随想录
算法训练营day 23|第六章 二叉树part09
题目链接/文章讲解:代码
随想录
视频讲解:你修剪的方式不对,我来给你纠正一下!
.wsy.
·
2024-02-04 18:51
代码随想录训练营
算法
代码
随想录
算法训练营第十一天|递归遍历、迭代遍历、统一迭代
理论基础需要了解二叉树的种类,存储方式,遍历方式以及二叉树的定义文章讲解:代码
随想录
二叉树有两种主要的形式:满二叉树和完全二叉树。
.wsy.
·
2024-02-04 18:50
代码随想录训练营
算法
代码
随想录
算法训练营day 20|第六章 二叉树 part06
654.最大二叉树又是构造二叉树,昨天大家刚刚做完中序后序确定二叉树,今天做这个应该会容易一些,先看视频,好好体会一下为什么构造二叉树都是前序遍历题目链接/文章讲解:代码
随想录
视频讲解:又是构造二叉树,
.wsy.
·
2024-02-04 18:50
代码随想录训练营
算法
代码
随想录
算法训练营第七天|KMP算法-28. 实现 strStr()、459.重复的子字符串、字符串总结、双指针回顾
KMP算法能够记住已经比较过的和模式串相等的部分,然后就着它继续比较,就好像是有记忆的比较。概念前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串next数组存储的是当前子串(next[i]即对应前i个字符组成的字符串)的最长前缀(存在相同后缀)的下一个位置的下标,用于跳转到(有记忆地比较)字符的下一个。e.g.issinext=1
.wsy.
·
2024-02-04 18:20
代码随想录训练营
算法
代码
随想录
算法训练营第八天|232.用栈实现队列、225. 用队列实现栈
文章讲解:代码
随想录
栈和队列是STL(C++标准库)里面的两个数据结构。
.wsy.
·
2024-02-04 18:20
代码随想录训练营
数据结构
代码
随想录
算法训练营第十天|239. 滑动窗口最大值、347.前 K 个高频元素
题目链接/文章讲解/视频讲解:代码
随想录
这道题的整体思路是建立一个自己的特殊队列,要求这个队列保证单调不增。这样每次求最大值的时候直接取队列的front元素就行。
.wsy.
·
2024-02-04 18:20
代码随想录训练营
算法
代码
随想录
算法训练营第五天|242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
哈希表理论基础文章讲解:代码
随想录
总结:哈希表用于快速判断一个元素是否出现在集合里面。如果不同数值的哈希值相等,就产生了哈希碰撞。
.wsy.
·
2024-02-04 18:50
代码随想录训练营
算法
哈希算法
代码
随想录
算法训练营day 22|第六章 二叉树part08
题目链接/文章讲解:代码
随想录
视频讲解:二叉搜索树找祖先就有点不一样了!
.wsy.
·
2024-02-04 18:48
代码随想录训练营
算法
代码
随想录
算法训练营Day25 | 216.组合总和III、17.电话号码的字母组合
216.组合总和III与77.组合差不多,就返回条件中收集结果步骤多了一步判断,同时剪枝策略多了一种vector>ans;vectorpath;intsum=0;voidbacktracking(intnum,int&k,int&n){if(path.size()==k){if(sum==n)ans.push_back(path);return;}//剪枝1:同77.组合//剪枝2:如果当前数已经
Y_Vollerei
·
2024-02-04 17:57
算法
数据结构
代码
随想录
算法训练营Day14 | 94.二叉树的中序遍历、144.二叉树的前序遍历、145.二叉树的后序遍历
二叉树理论基础二叉树的种类满二叉树节点数量为2k-1完全二叉树在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置二叉搜索数二叉搜索数对节点布局没有要求,但必须保证元素的排列是有序的·若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;·若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;·它的左、右子树也分别
Y_Vollerei
·
2024-02-04 17:26
算法
代码
随想录
算法训练营Day18 | 513. 找树左下角的值、112.路径总和、106.从中序与后序遍历序列构造二叉树
513.找树左下角的值这题按照之前的前序遍历思路也不算难,但是为了判断条件需要建很多变量,细节也很多。递归——前序遍历思路:保存最大深度与最大左转次数。满足以下条件之一则进行更新:1、当前层数大于最大层数2、当前层数等于最大层数,但左转次数大于最大左转次数·返回值类型:void,不需要返回值,将结果使用一个引用进行维护即可·传入参数:TreeNode*cur:当前节点的指针intdepth:当前深
Y_Vollerei
·
2024-02-04 17:26
数据结构
代码
随想录
算法训练营Day20 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
654.最大二叉树每次都从序列中搜索最大值,以该值为界分割序列进行递归即可。·返回值类型:TreeNode*,返回当前子树的节点指针·传入参数:vectornums:用于构建当前子树的序列数组·终止条件:序列为空,返回nullptr表示当前子树为空·单层递归逻辑——前序遍历:中:从序列中搜索最大值,构造根节点指针左:递归构造左子树,传入最大值左侧的序列右:递归构造右子树,传入最大值右侧的序列Tre
Y_Vollerei
·
2024-02-04 17:26
算法
数据结构
代码
随想录
算法训练营Day22 | 235. 二叉搜索树的最近公共祖先、701. 二叉搜索树中的插入操作、450. 删除二叉搜索树中的节点
235.二叉搜索树的最近公共祖先这题相比于236简单很多,由于二叉搜索树的性质,从上向下遍历,找到第一个值介于p与q之间节点即为最近公共祖先(一侧子树上的所有节点都大于/小于根节点,所以公共祖先的值一定介于p和q之间)TreeNode*ans=nullptr;voidtraversal(TreeNode*cur,int&i1,int&i2){if(!cur||ans)return;if((cur-
Y_Vollerei
·
2024-02-04 17:26
算法
代码
随想录
算法训练营Day23 | 669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树
669.修剪二叉搜索树这题需要发现一个点:如果一个节点不满足区间条件,那么其某一边的子树一定也不满足区间条件(如一个节点的值大于上界,那么它右子树的所有节点也一定都大于上界),所以这题只会出现450中的情况1、2、3,不会出现最棘手的情况4。包含内存释放操作的递归写法(内存释放需要多写很多行代码)://后序遍历,从底向上释放该树所有节点的内存voiddeleteTree(TreeNode*cur)
Y_Vollerei
·
2024-02-04 17:26
算法
代码
随想录
算法训练营Day7 | 454.四数相加II、383.赎金信、15.三数之和、18.四数之和
454.四数相加II最简单的思路肯定是暴力循环。除了暴力循环外,最开始的思路是能否嵌套map一层层地查询,这样每个数组都只需遍历一遍,时间复杂度是O(n)。但是继续想发现除了最后一层,其他层的查询条件全都未知,只能放弃了这个想法。之后又想能不能对四个数组进行分组,12一组34一组,分别嵌套循环,这样时间复杂度是n^2+n^2即O(n^2)。好像可行就写了下去,想的是使用set实现,但写着写着发现由
Y_Vollerei
·
2024-02-04 17:56
算法
代码
随想录
算法训练营Day17 | 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和
110.平衡二叉树思路的重点是判断完一个子树是否是平衡二叉树时如何返回结果。开始想的是把递归的返回值类型设置为bool,但是这样就无法返回子节点的高度信息,最后还是没想明白。思路:不断获取子节点的高度,如果两侧节点高度差大于1,说明该节点代表的子树是非平衡二叉树,返回-1即可。最后递归的结果如果是-1,说明是非平衡二叉树。//计算当前节点高度,//如果左右子树的高度差大于1说明当前子树是非平衡二叉
Y_Vollerei
·
2024-02-04 17:56
算法
数据结构
代码
随想录
算法训练营Day24 | 回溯理论基础、77.组合
回溯理论基础回溯和递归是相辅相成的,只要有递归就有回溯(执行完一次递归就自动回溯到上一层)回溯的效率回溯不是一个高效的算法,而是一个纯暴力的过程有些问题没有更好的解法,只能使用暴力搜索,这时就可以使用回溯法。包括以下问题:1、组合问题2、切割问题3、子集问题4、排列问题5、棋盘问题(N皇后、解数独等)如何理解回溯法回溯法解决的问题都可以抽象为树形结构(N叉树)回溯法的模板voidbacktrack
Y_Vollerei
·
2024-02-04 17:25
算法
一文搞懂设计模式—单例模式
本文已收录至Github,推荐阅读Java
随想录
微信公众号:Java
随想录
文章目录使用场景序列化对单例模式的破坏实现方式饿汉式懒汉式双重校验锁静态内部类枚举式总结在软件开发中,有些对象我们只需要一个实例
码农BookSea
·
2024-02-04 12:54
设计模式
设计模式
单例模式
java
代码
随想录
算法训练营第四十一天|122. 买卖股票的最佳时机 II
122.买卖股票的最佳时机IIpublicstaticintmaxProfit(int[]prices){//买如果后面的价格有比当前的价格大.反之不买//卖如果后面的价格有比当前的价格小,反之不卖intcurrentProfitMoney=0;booleanflag=false;for(inti=0;iprices[i+1]){currentProfitMoney+=prices[i];flag
m0_37767445
·
2024-02-04 09:26
java
算法
数据结构
代码
随想录
算法训练营第四十天|337. 打家劫舍 III
337.打家劫舍III//ans[0]表示抢当前根结点//ans[1]表示不能抢当前结点privatelong[]postOrder(TreeNoderoot){if(root==null){returnnewlong[]{0,0};}long[]l=postOrder(root.left);long[]r=postOrder(root.right);//如果要抢当前结点intget=root.v
m0_37767445
·
2024-02-04 09:25
算法
数据结构
代码
随想录
算法训练营第三十九天|518. 零钱兑换 II
518.零钱兑换IIpublicstaticintcoinChange(int[]coins,intamount){//找出最后一步//定义损失函数定义记忆化存储基本单元//状态转移方程f(n)=f[n-1]+//Min(f(n)=f(n-coins[i])+f(coins[i]));//边界(递归过程中需要判断)//初始化(在未递归之前需要处理)//返回答案intINF=(Integer.MAX
m0_37767445
·
2024-02-04 09:55
算法
动态规划
代码
随想录
算法训练营第39天 | 62.不同路径 + 63.不同路径 II
今日任务62.不同路径63.不同路径II62.不同路径-Medium题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?思路:dp[i][j]表示从第i,j格到终点的路径数量,从终点向起
熠如星泽
·
2024-02-04 09:24
算法
leetcode
c++
动态规划
代码
随想录
算法训练营第三十九天|198. 打家劫舍
198.打家劫舍publicintrob(int[]nums){finalintN=nums==null?0:nums.length;if(N<=0){return0;}int[]dp=newint[N];dp[0]=Math.max(0,nums[0]);if(N==1){returndp[0];}dp[1]=Math.max(0,Math.max(nums[0],nums[1]));for(i
m0_37767445
·
2024-02-04 09:23
算法
数据结构
leetcode
代码
随想录
LeetCode 131. 分割回文串
题目给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。回文串是正着读和反着读都一样的字符串。解题思路本题要求返回所有可能的分割方案,就需要遍历所有可能性,容易想到使用for循环和回溯算法。另外,怎么判断字符串为回文串是遍历到合适的结果的依据。常用的判断方法是动态规划和双指针法。本题使用双指针法。代码实现classSolution{public:vector>
书痴熊
·
2024-02-04 08:27
代码随想录训练营
leetcode
算法
c++
代码
随想录
Leetcode491. 非递减子序列
题目:代码(首刷看解析2024年2月3日):classSolution{private:vector>res;vectorpath;public:voidbacktracking(vector&nums,intstartIndex){if(path.size()>1){res.push_back(path);}unordered_setuset;for(inti=startIndex;i>find
meeiuliuus
·
2024-02-04 08:26
#
leetcode
---medium
前端
算法
javascript
代码
随想录
Leetcode90. 子集 II
题目:代码(首刷自解2024年2月3日):classSolution{private:vector>res;vectorpath;public:voidbacktracking(vector&nums,intstartIndex,vectorused){res.push_back(path);if(startIndex>nums.size())return;for(inti=startIndex;
meeiuliuus
·
2024-02-04 08:25
#
leetcode
---medium
前端
算法
javascript
代码
随想录
Leetcode78. 子集
题目:代码(首刷看解析2024年2月3日):classSolution{private:vector>res;vectorpath;public:voidbacktracking(vector&nums,intstartIndex){res.push_back(path);for(inti=startIndex;i>subsets(vector&nums){backtracking(nums,0)
meeiuliuus
·
2024-02-04 08:55
#
leetcode
---medium
前端
算法
javascript
代码
随想录
Leetcode131. 分割回文串
题目:代码(首刷看解析2024年2月3日):classSolution{public:vector>res;vectorpath;boolisPalindrome(conststring&s,intstart,intend){for(inti=start,j=end;i=s.size()){res.push_back(path);return;}for(inti=startIndex;i>part
meeiuliuus
·
2024-02-04 08:21
#
leetcode
---medium
前端
算法
javascript
代码
随想录
第二十四天
第七章回溯算法part01理论基础其实在讲解二叉树的时候,就给大家介绍过回溯,这次正式开启回溯算法,大家可以先看视频,对回溯算法有一个整体的了解。题目链接/文章讲解:https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html视频讲解:https://
zxclong
·
2024-02-04 08:10
数据结构
leetcode
算法
代码
随想录
第三天
链表理论基础建议:了解一下链接基础,以及链表和数组的区别文章链接:https://programmercarl.com/%E9%93%BE%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.htmlremoveElements的使用方法removeElements方法的作用是移除链表中指定值的节点,并返回移除后的链表头节点。使用该方法可以轻松地在链表中删除指
zxclong
·
2024-02-04 08:40
java
数据结构
leetcode
算法
代码
随想录
第四天
24.两两交换链表中的节点题目链接/文章讲解/视频讲解:https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.html思路链表:0->1->2->3假设两两交换的元素为链表中的1、2,那么切断2的前后连接重建
zxclong
·
2024-02-04 08:40
java
开发语言
代码
随想录
第二十二天
第六章二叉树part08今日内容:●235.二叉搜索树的最近公共祖先●701.二叉搜索树中的插入操作●450.删除二叉搜索树中的节点详细布置235.二叉搜索树的最近公共祖先相对于二叉树的最近公共祖先本题就简单一些了,因为可以利用二叉搜索树的特性。题目链接/文章讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A
zxclong
·
2024-02-04 08:40
算法
数据结构
leetcode
代码
随想录
第二十三天
第六章二叉树part09今日内容:●669.修剪二叉搜索树●108.将有序数组转换为二叉搜索树●538.把二叉搜索树转换为累加树●总结篇详细布置669.修剪二叉搜索树这道题目比较难,比添加增加和删除节点难的多,建议先看视频理解。题目链接/文章讲解:https://programmercarl.com/0669.%E4%BF%AE%E5%89%AA%E4%BA%8C%E5%8F%89%E6%90%9
zxclong
·
2024-02-04 08:40
leetcode
数据结构
算法
java
代码
随想录
第二十四五天
第七章回溯算法part02今日内容:●216.组合总和III●17.电话号码的字母组合详细布置216.组合总和III如果把组合问题理解了,本题就容易一些了。题目链接/文章讲解:https://programmercarl.com/0216.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8CIII.html视频讲解:https://www.bilibili.com/video/
zxclong
·
2024-02-04 07:34
数据结构
leetcode
代码
随想录
算法训练营第10天|栈与队列|232.用栈实现队列225.用队列实现栈
代码
随想录
算法训练营第10天|栈与队列|232.用栈实现队列225.用队列实现栈一、232.用栈实现队列文档链接:代码
随想录
题目链接:232.用栈实现队列视频讲解:视频讲解题目描述:请你仅使用两个栈实现先入先出队列
识影潜潜
·
2024-02-04 02:51
算法
算法
python
数据结构
代码
随想录
算法训练营第9天|字符串|28.找出字符串中第一个匹配项的下标459.重复的子字符串
代码
随想录
算法训练营第9天|字符串|28.找出字符串中第一个匹配项的下标459.重复的子字符串一、28.找出字符串中第一个匹配项的下标文档链接:代码
随想录
题目链接:28.找出字符串中第一个匹配项的下标题目描述
识影潜潜
·
2024-02-04 02:51
算法
算法
数据结构
代码
随想录
算法训练营第8天|字符串|344.反转字符串541.反转字符串II151.翻转字符串里的单词
代码
随想录
算法训练营第8天|字符串|344.反转字符串541.反转字符串II151.翻转字符串里的单词一、344.反转字符串文档链接:代码
随想录
题目链接:344.反转字符串视频讲解:视频讲解题目描述:编写一个函数
识影潜潜
·
2024-02-04 02:21
算法
算法
数据结构
代码
随想录
算法训练营第2天|数组|977.有序数组的平方209.长度最小的子数组 59.螺旋矩阵II
代码
随想录
算法训练营第2天|数组|977.有序数组的平方209.长度最小的子数组59.螺旋矩阵II一、977.有序数组的平方文档链接:代码
随想录
题目链接:977.有序数组的平方视频讲解:视频讲解题目描述
识影潜潜
·
2024-02-04 02:20
算法
算法
数据结构
代码
随想录
算法训练营第4天|链表|24.两两交换链表中的节点19.删除链表的倒数第N个节点160.相交链表142.环形链表II
代码
随想录
算法训练营第4天|链表|24.两两交换链表中的节点19.删除链表的倒数第N个节点160.相交链表142.环形链表II一、24.两两交换链表中的节点文档链接:代码
随想录
题目链接:24.两两交换链表中的节点视频讲解
识影潜潜
·
2024-02-04 02:20
算法
算法
链表
数据结构
代码
随想录
算法训练营第7天|哈希表|454.四数相加II383.赎金信15.三数之和18.四数之和
代码
随想录
算法训练营第7天|哈希表|454.四数相加II383.赎金信15.三数之和18.四数之和一、454.四数相加II文档链接:代码
随想录
题目链接:454.四数相加II视频讲解:视频讲解题目描述:给你四个整数数组
识影潜潜
·
2024-02-04 02:20
算法
算法
数据结构
哈希表
代码
随想录
算法训练营第6天|哈希表|242.有效的字母异位词349.两个数组的交集202.快乐数1.两数之和
代码
随想录
算法训练营第6天|哈希表|242.有效的字母异位词349.两个数组的交集202.快乐数1.两数之和一、242.有效的字母异位词文档链接:代码
随想录
题目链接:242.有效的字母异位词视频讲解:视频讲解题目描述
识影潜潜
·
2024-02-04 02:50
算法
算法
数据结构
哈希表
【leetcode】树总结
本文内容来自于代码
随想录
遍历方式先序(DFS)中、左、右voidpreorder(TreeNoderoot){process(root);//处理中间节点preorder(root.left);preorder
zadarmo_
·
2024-02-04 01:59
leetcode
leetcode
算法
职场和发展
【leetcode】栈与队列总结
本文内容来自于代码
随想录
栈用栈实现队列两个栈实现队列。思路:两个栈分别表示入栈和出栈。
zadarmo_
·
2024-02-04 01:58
leetcode
leetcode
java
【leetcode】完全背包总结
本文内容参考了代码
随想录
,并进行了自己的总结。
zadarmo_
·
2024-02-04 01:54
leetcode
动态规划
leetcode
算法
职场和发展
代码
随想录
刷题笔记 DAY 20 | 最大二叉树 No.654 | 合并二叉树 No. 617 | 二叉搜索树中的搜索 No.700 | 验证二叉搜索树 No.98
Day2001.最大二叉树(No.654)题目链接代码
随想录
题解1.1题目给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点,其值为nums中的最大值。
*Soo_Young*
·
2024-02-03 22:46
笔记
算法
数据结构
代码
随想录
算法训练营第十三天 | 104.二叉树的最大深度、559.N叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数
代码
随想录
算法训练营第十三天|104.二叉树的最大深度、559.N叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数文章目录代码
随想录
算法训练营第十三天|104.二叉树的最大深度、559
-北天-
·
2024-02-03 22:58
代码随想录算法训练营
算法
数据结构
代码
随想录
DAY2|数组|Leetcode977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵Ⅱ
leetcode977.有序数组的平方题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/文章链接:https://programmercarl.com/0977.%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E7%9A%84%E5%B9%B3%E6%96%B9.html视频链接:https://www
苏芮芮芮
·
2024-02-03 22:24
c++刷题打卡
算法
数据结构
代码
随想录
算法训练营第二天 | LeetCode977 有序数组的平方 LeetCode209 长度最小的子数组 LeetCode59 螺旋矩阵Ⅱ
LeetCode977有序数组的平方题目链接:有序数组的平方文章链接:有序数组的平方视频链接:有序数组的平方思路拿到这道题第一反应就是暴力求解,用两个指针i和k同时指向数组的首元素,然后i用来遍历数组并同时进行平方,让k遍历数组的同时并接收这个平方的值,最后在调用C++的快排的算法库,最终返回有序的数组代码classSolution{public:vectorsortedSquares(vecto
程序员劝退师_
·
2024-02-03 22:51
代码随想录
算法
矩阵
leetcode
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他