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
左神算法
左神算法
笔记———满足二叉搜索树的最大拓扑结构的大小
题目二叉树的拓扑结构概念:任何经过left和right指针,连成一片的节点,都叫一个拓扑结构。只要可以连在一起,都叫拓扑结构,区别与前一题的最大而二叉搜索子树。给定一棵二叉树的头节点head,请返回满足二叉搜索树条件的最大拓扑结构的大小。分析首先计算出以包含根节点的最大二叉搜索树的大小,实现方法可以遍历树中的各个节点,然后看根节点按照二叉搜索树的顺序是否可以走到这里来,如果可以,那么当前节点在二叉
yaco
·
2024-09-06 13:42
左神算法
课笔记异或运算
异或性质异或运算性质:1.N^0=N2.N^N=0满足交换律结合律3.a^b=b^a4.(a^b)^c=a^b^c简证:异或运算与运算顺序无关只要是偶数个1就为0奇数个1则为1。题目1.位运算来交换用位运算来交换效率比传统算法更高#includeintmain(){inta=16;intb=603;a=a^b;b=a^b;a=a^b;std::cout&arr){inteor=0;for(inti
天穹南都
·
2023-12-03 17:15
笔记
c++
左神算法
-二叉树的后继节点和先驱节点【c++实现】
#include#includeusingnamespacestd;structNode{intm_nValue;Node*m_pLeft;Node*m_pRight;Node*m_pParent;};//寻找后继节点Node*most_leftnode(Node*node){while(node->m_pLeft!=nullptr)node=node->m_pLeft;returnnode;}N
木_宁
·
2023-11-27 16:17
左神算法
C++
二叉树
左神算法
题系列:动态规划机器人走路
机器人走路假设有排成一行的N个位置记为1~N,N一定大于或等于2开始时机器人在其中的start位置上(start一定是1~N中的一个)如果机器人来到1位置,那么下一步只能往右来到2位置;如果机器人来到N位置,那么下一步只能往左来到N-1位置;如果机器人来到中间位置,那么下一步可以往左走或者往右走;规定机器人必须走K步,最终能来到aim位置(P也是1~N中的一个)的方法有多少种给定四个参数N,sta
骇客567
·
2023-10-29 10:52
算法实战
算法
动态规划
左神算法
之中级提升班(9)
【案例1】【题目描述】【思路解析】因为它数字的范围只能为1-n,然后数组范围0-n-1,所以说如果没有缺失值的话,每个i位置应该放i+1,所以我们直接对每个数组完成这个操作,让每个i位置尽可能放i+1,如果有些位置不是i+1,则这些位置就是缺失值,遍历打印即可。【代码实现】/***@ProjectName:study3*@FileName:Ex1*@author:HWJ*@Data:2023/7/
Studying~
·
2023-09-12 07:15
算法
java
数据结构
左神算法
之中级提升班(8)
目录【案例1】【题目描述】【思路解析】【代码实现】【案例2】【题目描述】【思路解析】【代码实现】【案例3】【题目描述】【思路解析】【案例4】【题目描述】【思路解析】【代码实现】【案例5】【题目描述】【子序列概念】【思路解析1经典方法时间复杂度为O(N^2)】【代码实现1】【思路解析2优化技巧之构建单调性时间复杂度为O(N*logN)】【代码实现2】【案例6】【题目描述】【思路解析】【代码实现】【案
Studying~
·
2023-09-01 04:57
算法
java
数据结构
【
左神算法
刷题班】第18节:汉诺塔问题、岛屿问题、最大路径和问题
第18节题目1:汉诺塔问题(变体)体系学习班18节有讲暴力递归的汉诺塔原题。给定一个数组arr,长度为N,arr中的值只有1,2,3三种arr[i]==1,代表汉诺塔问题中,从上往下第i个圆盘目前在左arr[i]==2,代表汉诺塔问题中,从上往下第i个圆盘目前在中arr[i]==3,代表汉诺塔问题中,从上往下第i个圆盘目前在右那么arr整体就代表汉诺塔游戏过程中的一个状况如果这个状况不是汉诺塔最优
寒泉Hq
·
2023-08-15 20:49
算法
java
数据结构
左神算法
之中级提升(6)
目录【案例1】【题目描述】【思路解析】【代码实现】【案例2】【题目描述】【思路解析】【代码实现】【案例3】【题目描述】【思路解析】【代码实现】【案例4】【题目描述】2018年美团面试题【思路解析】【代码实现】【案例5】【题目描述】【思路解析】【代码实现】【案例1】【题目描述】【思路解析】(8条消息)详解前缀树和贪心算法_Studying~的博客-CSDN博客(8条消息)详解图论算法图的宽度优先遍历
Studying~
·
2023-07-29 19:27
算法
java
年前三面字节挂了,疫情狂刷
左神算法
,春招复盘成功入职字节跳动
前言每一个程序员都拥有一座大厂梦,我也不例外,去年面试字节,挂在了算法上,很多算法都没有答上来,更别提最优解了,三面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于如愿进入字节跳动,在这里特别感谢左程云左神下面先给大家分享下左神写的书《程序员代码面试指南IT名企算法与数据结构题目最优解》目录(算法有分将、校、尉、士四个等级来表示难易程度)第1章栈和队列设计一个有getMin功能的栈(士★)由两
java码农之路1
·
2023-07-20 16:56
算法
java
面试
编程语言
python
左神算法
重要技巧:递归的加速技巧(斐波那契数列套路)以及推广
目录【案例1】【十分重要:斐波那契递归套路,只要像斐波那契这种严格递归都可以进行类似的优化】【有严格的递归项后,通过线性代数的知识进行优化】【代码实现】【技巧推广】【实例1使用这个技巧】【题目描述】【思路解析】【代码实现】【实例2】【题目描述】【思路解析】【代码实现】代码没有考虑死亡,考虑了也很简单,你们可以尝试自己写一下,不会可以私信博主。【实例3】【题目描述】【此题给出一个很好的思路】【思路解
Studying~
·
2023-07-19 18:25
算法
左神算法
中级提升(3)
目录【案例1】【题目描述】【2018阿里巴巴面试题】【思路解析】【代码实现】【案例2】【题目描述】【思路解析1】【思路解析2】【代码实现】【案例3】【题目描述】【思路解析】【代码实现】【案例4】【题目描述】【思路解析】【代码实现】【案例5】【题目描述】【思路解析】【代码实现】【案例6】【题目描述】【思路解析】【代码实现】【案例7】【题目描述】【思路解析】【代码实现】【案例1】【题目描述】【2018
Studying~
·
2023-07-19 18:55
算法
java
数据结构
左神算法
中级提升(4) 超级重点:动态规划的空间压缩技巧
【案例1】【题目描述】【以后出现这种的题型概率很低】【案例2】【题目描述】【思路解析】构建两个栈,一个栈存放基本数据,一个栈存放最小值数据。每次加入一个数据时,当前元素和栈顶元素比较,谁小谁进入。然后弹出时,两个栈同步弹出。【代码实现】importjava.util.Stack;/***@ProjectName:study3*@FileName:Ex2*@author:HWJ*@Data:2023
Studying~
·
2023-07-19 18:55
数据结构
java
左神算法
之中级提升(2)
目录[案例1】【题目描述】【思路解析1】【思路解析2】【代码实现】【案例2】【题目描述】【思路解析】【代码实现】【案例3】【题目描述】【思路解析】【代码实现】【案例4】【题目描述】今日头条2018面试题第四题【输入描述】【思路解析】【代码实现】【案例5】【题目描述】【思路解析】【代码实现】【案例6】【题目描述】【思路解析】【代码描述】【案例7】【题目描述】【思路解析】【代码实现】【案例8】【题目描
Studying~
·
2023-07-19 18:55
算法
java
左神算法
与数据结构——中级提升班-5
中级提升班-5斐波那契数列套路O(N)方法,前两项和为第三项,时间复杂度过高套路:O(logN),除了初始项,后续每一项都有严格递归式,即递归中不根据条件转移根据线性代数原理,每个有严格递归形式的递归项,均可表示成以下形式,后向可由前项乘相应的矩阵形式,若后向需要前n项,则矩阵为n阶方阵最后一项可以由下图表示,问题转换为求系数矩阵的n次方的最佳方法,可以实现O(logN)如同求1075,将次数75
冇思想的非菜
·
2023-07-19 18:24
中级提升班
算法
数据结构
矩阵
c++
动态规划
左神算法
之中级提升(5) 背包问题
目录【案例1】【题目描述】【思路解析】【代码实现】【案例2】【2019网易面试题】【题目描述】【思路解析】【代码实现】【案例3】【题目描述】【思路分析】【代码实现】【案例1】【题目描述】【思路解析】背包问题:【代码实现】/***@ProjectName:study3*@FileName:Ex6*@author:HWJ*@Data:2023/7/1312:15*/publicclassEx6{pub
Studying~
·
2023-07-19 18:21
算法
动态规划
【
左神算法
课学习笔记】动态规划
【
左神算法
课学习笔记】动态规划动态规划是对暴力递归算法的优化,主要是通过数组记录的方法,优化掉一些重复计算的过程。
程序员小辰
·
2023-06-06 22:33
算法
动态规划
算法
java
左神算法
(一)上修改版
序言:左神(左程云)所讲课程有两套,一套为马士兵,一套为牛客。两套体系不好区分。有基础班和训练营。基础班是基础,训练营前两节属于提升班(进阶版),提升班还是基础,不过难度比基础班高一些,建议掌握基础班和提升版的基础上学习训练营。以下为硬核!一周刷爆LeetCode,算法大神(左程云)耗时112天打造出算法与数据结构基础到高级全家桶教程+大厂面试真题详解_哔哩哔哩_bilibili的P2到P17左神
惜听
·
2023-04-02 03:14
左神算法
算法
左神算法
-初级8(python)
左神算法
-初级8贪心策略:累加1、金条和铜板2、IPO3、会议室项目宣讲递归和动态规划1、汉诺塔问题2、打印一个字符串的所有子序列3、打印一个字符串的所有子串4、打印一个字符串的所有全排列5、母牛生子6
王魚(Virgil)
·
2023-02-03 09:49
左神算法-初级
Python
算法
leetcode题141:环形链表
题目描述:解题思路:这个题目在
左神算法
课上初级班讲解链表的课上就有讲如何判断一个链表是否有环,我自己总结的笔记在:https://blog.csdn.net/PnJgHT/article/details
PnJg?
·
2022-06-29 09:05
算法笔记
leetcode题目
链表
leetcode
算法
左神算法
学习日记——树dp
树dp问题只需要考虑每个结点的所有孩子的情况就可以解决classNode{public:intnum;Node*left;Node*right;Node()=default;Node(intn){num=n;}~Node(){queuedel;Node*temp;del.push(this);while(!del.empty()&&del.front()){temp=del.front();del
w275412237
·
2022-05-23 14:32
学习日记
c++
左神算法
学习日记——二叉树遍历(二)
折纸问题【题目】请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开。此时折痕是凹下去的,即折痕突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时有三条折痕,从上到下依次是下折痕、下折痕和上折痕。给定一个输入参数N,代表纸条都从下边向上方连续对折N次,请从上到下打印所有折痕的方向。例如:N=1时,打印:下N=2时,打印:下下上分析:纸条折三下的
w275412237
·
2022-05-23 14:02
左神算法
学习日记——二叉树(一)
二叉树遍历,非递归版#include#include#include#include#include#include#include#include#includeusingnamespacestd;classnode{public:charnum;node*left;node*right;node(){num=0;left=NULL;right=NULL;}node(charn){num=n;l
w275412237
·
2022-05-23 14:02
学习日记
左神算法
学习日记——二叉树(三)
在二叉树中找到一个节点的后继节点【题目】现在有一种新的二叉树节点类型如下:publicclassNode{publicintvalue;publicNodeleft;publicNoderight;publicNodeparent;publicNode(intdata){this.value=data;}}该结构比普通二叉树节点结构多了一个指向父节点的parent指针。假设有一棵Node类型的节点
w275412237
·
2022-05-23 14:02
学习日记
c++
左神算法
学习日记——搜索二叉树使用方法
classedge{public:intpositon;intheight;boolifup;edge()=default;edge(intp,inth,booldir){positon=p;height=h;ifup=dir;}};//给定一堆楼的位置参数与其高度即[startpositoon,endposition,height],然后求出这堆楼的整体轮廓就像photoshop里的一些抠图工具
w275412237
·
2022-05-23 14:02
学习日记
c++
归并排序的扩展问题
归并排序的扩展:(
左神算法
笔记)小和问题在一组数组中,每一个数左边比当前数小的数累加起来,叫作这个数组的小和。求一个数组的小和。
·
2022-01-18 10:02
算法java归并
不是我看不起字节跳动,拿着大佬3.81G的算法视频面试随便问
左神算法
-KMP算法及其扩展
左神算法
-Morris遍历及其相关扩展
左神算法
-暴力递归
左神算法
-暴力递归到动态规划1
左神算法
-暴力递归到动态规划2
左神算法
-暴力递归到动态规划3
左神算法
-动态规划
左神算法
-
Java互联网架构师小马
·
2021-06-22 19:28
The Primary algorithms---------Two
ThePrimaryalgorithms---------Two
左神算法
初级班——第二节1.关于堆的介绍堆是计算机中一类特殊的数据结构,堆通常可以被看做是一棵完全二叉树的数组对象。
Kinght_123
·
2021-01-02 12:10
数据结构
算法
算法
二叉树
数据结构
左神算法
基础class6—题目3拓扑排序
左神算法
基础class6—题目3拓扑排序1.题目:拓扑排序2.分析3.核心代码4.完整代码5.输出结果1.题目:拓扑排序拓扑排序算法适用范围:要求①有向图②有入度为0的节点③没有环2.分析在程序编译时,
是阿毛啊
·
2020-09-16 10:57
左神算法基础课
队列
数据结构
算法
左神算法
基础class5—题目6并查集实现
左神算法
基础class5—题目6并查集实现1.介绍:并查集(1)并查集的结构(2)并查集的原理2.分析(1)类的设计(2)查找代表节点(3)判断是否是同一集合(4)合并两个集合3.完整代码4.运行结果1
是阿毛啊
·
2020-09-16 10:56
左神算法基础课
数据结构
c++
左神算法
基础class5—题目2设计RandomPool结构,可加入、删除、获得key,复杂度为O(1)
左神算法
基础class5—题目2设计RandomPool结构,可加入、删除、获得key,复杂度为O(1)1.题目:设计RandomPool结构,可加入、删除、获得key,复杂度为O(1)2.Map的简单介绍
是阿毛啊
·
2020-09-16 10:56
左神算法基础课
c++
数据结构
算法
hashmap
左神算法
基础class6—题目2宽度优先遍历和深度优先遍历
左神算法
基础class6—题目2宽度优先遍历和深度优先遍历1.题目:宽度优先遍历和深度优先遍历2.宽度优先遍历(1)分析(2)核心代码3.深度优先遍历(1)分析(2)核心代码4.完整代码1.题目:宽度优先遍历和深度优先遍历
是阿毛啊
·
2020-09-16 10:56
左神算法基础课
算法
dfs
队列
数据结构
bfs
左神算法
基础class4—题目1实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式
左神算法
基础class4—题目1实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式题目:实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式1.数据结构2.先序遍历(1)递归版(2)非递归版
是阿毛啊
·
2020-09-16 10:55
左神算法基础课
数据结构
二叉树
指针
算法
c++
左神算法
基础class3-2—题目3仅用栈结构实现队列结构
左神算法
基础class3-2—题目3仅用栈结构实现队列结构1.题目2.分析3.核心代码4.完整代码5.输出结果1.题目如何仅用栈结构实现队列结构?
是阿毛啊
·
2020-09-16 10:55
左神算法基础课
栈
算法
队列
c++
左神算法
基础class5—题目5岛问题
左神算法
基础class5—题目5岛问题1.题目:岛问题2.分析3.核心代码(1)递归求岛的范围(2)求岛的数量4.完整代码5.扩展:并行问题1.题目:岛问题一个矩阵中只有0和1两种值,每个位置都可以和自己的上
是阿毛啊
·
2020-09-16 10:24
左神算法基础课
数据结构
算法
c++
左神算法
基础class1——例子3、4、5冒泡,选择、插入排序
左神算法
基础class1——例子3、4、5冒泡,选择、插入排序冒泡排序题目:冒泡排序细节的讲解与复杂度分析分析完整代码选择排序题目:选择排序细节的讲解与复杂度分析分析完整代码插入排序(很有用)题目:插入排序细节的讲解与复杂度分析分析完整代码冒泡排序题目
是阿毛啊
·
2020-09-16 10:23
左神算法基础课
冒泡排序
选择排序
插入排序
算法与数据结构
c++
左神算法
基础class2——例子2经典快排,荷兰国旗改进快排,随机快排C++实现
左神算法
基础class2——例子2经典快排,荷兰国旗改进快排,随机快排C++实现1.经典快排分析核心代码完整代码2.荷兰国旗改进的经典快排分析核心代码完整代码3.随机快排分析核心代码完整代码复杂度分析1
是阿毛啊
·
2020-09-16 10:23
左神算法基础课
左神算法
基础class2——例子1荷兰国旗问题
左神算法
基础class2——例子1荷兰国旗问题预备题目:给定一个数组arr,和一个数num,请把小于等于num的数放在数组的左边,大于num的数放在数组的右边。
是阿毛啊
·
2020-09-16 10:52
左神算法基础课
左神算法
1:小和问题和逆序对问题
1.小和问题在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组的小和。例子:[1,3,4,2,5]1左边比1小的数,没有;3左边比3小的数,1;4左边比4小的数,1、3;2左边比2小的数,1;5左边比5小的数,1、3、4、2;所以小和为1+1+3+1+1+3+4+2=16分析:小和问题,由当前数左侧所有比自己小的数之和相加==》转换为==》当前数右侧有多少个比自己大的
hi168
·
2020-09-16 09:05
左神算法
【
左神算法
】基础班第一课(二)——归并解决逆序数
问题:小和或者逆序数问题求数组中,左数小于右数的和。输入[12345]输出202的位置res+=1res=13的位置res+=1+2res=44的位置res+=1+2+3res=105的位置res+=1+2+3+4res=20归并代码#include#include#include#include#includeusingnamespacestd;voidg(vector&v,intsize){i
icebearzzz
·
2020-09-16 09:32
算法练习
左神算法
基础class1——例子1遍历、二分、外排
左神算法
基础class1——例子1遍历、二分、外排题目:一个有序数组A,另一个无序数组B,请打印B中的所有不在A中的数,A数组长度为N,B数组长度为M。
是阿毛啊
·
2020-09-16 09:28
左神算法基础课
算法
数据结构
排序
复杂度
C++
左神算法
基础class1——例子7,8归并排序,小和问题,逆序对问题
左神算法
基础class1——例子7,8归并排序,小和问题,逆序对问题题目:归并排序的细节讲解与复杂度分析分析完整代码复杂度应用:小和问题分析核心代码完整代码应用:逆序对问题分析核心代码完整代码题目:归并排序的细节讲解与复杂度分析分析整体思路先左边从小到大排序
是阿毛啊
·
2020-09-16 09:28
左神算法基础课
归并
小和问题
逆序对问题
c++
左神算法
基础class2——题目3 堆heapInsert、heapify、堆排序C++实现
左神算法
基础class2——题目3堆heapInsert、heapify、堆排序C++实现1.基础知识2.heapInsert:新结点加入进来并向上调整为大根堆的过程分析核心代码完整代码时间复杂度3.heapify
是阿毛啊
·
2020-09-16 09:28
左神算法基础课
堆排序
heapinsert
heapify
c++
算法
左神算法
学习日记——LRU数据结构设计
templateclassNode{public:Kkey;Vvalue;Node*next;Node*last;Node()=default;Node(Kk,Vv){key=k;value=v;next=NULL;last=NULL;}};templateclassList{public:Node*head;Node*end;voidaddNode(Node*node){if(!node)ret
w275412237
·
2020-09-15 18:07
学习日记
左神算法
基础class3—题目8之字形打印矩阵c++实现
左神算法
基础class3—题目8之字形打印矩阵c++实现1.题目2.分析3.核心代码(1)A、B点的更新(2)打印A、B之间的数字4.完整代码5.输出结果1.题目给定一个矩阵matrix,按照“之”字形的方式打印这个矩阵
是阿毛啊
·
2020-09-12 07:29
左神算法基础课
算法
c++
左神算法
进阶班5_4设计可以变更的缓存结构(LRU)
【题目】设计一种缓存结构,该结构在构造时确定大小,假设大小为K,并有两个功能:set(key,value):将记录(key,value)插入该结构。get(key):返回key对应的value值。【要求】1.set和get方法的时间复杂度为O(1)。2.某个key的set或get操作一旦发生,认为这个key的记录成了最经常使用的。3.当缓存的大小超过K时,移除最不经常使用的记录,即set或get最
weixin_34233421
·
2020-09-11 05:41
左神算法
进阶班7_2换钱组合数
【题目】给定数组arr,arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求换钱有多少种方法。【举例】arr=[5,10,25,1],aim=0。组成0元的方法有1种,就是所有面值的货币都不用。所以返回1。arr=[5,10,25,1],aim=15。组成15元的方法有6种,分别为3张5元、1张10元+1张5元、1张10元
weixin_30632089
·
2020-09-11 04:00
【
左神算法
】基础班第二课(三)堆排序及对结构的应用
堆排序#include#includeusingnamespacestd;voidheapInsert(vector&a,intvalue){a.push_back(value);intindex=(int)a.size()-1;while(index>0){intparent=(index-1)/2;if(a[parent]>=a[index]){break;}else{swap(a[index
icebearzzz
·
2020-09-11 02:43
算法练习
【
左神算法
】堆排序
堆排序堆排序思维要点1,堆结构的heapInsert与heapify2,堆结构的增大和减少3,如果只是建立堆的过程,时间复杂度为0(N)4,优先级队列结构,就是堆结构思路思路:堆排序是比较重要的排序,主要是基于堆结构。而堆结构就是完全二叉排序树。因为二叉排序树的结构特点。*我们可以用数组进行模拟二叉树的左右子节点,关系就是root节点的左子节点为2*i+1root节点的右子节点为2*i+2*而左子
qxlxi
·
2020-09-11 01:43
#
排序
#
左神算法
04.堆排序 --- HeapSort(
左神算法
基础班源码)
packagebasic_class_01;importjava.util.Arrays;/****堆排序的细节和复杂度分析*时间复杂度O(N*logN),额外空间复杂度O(1)*堆结构非常重要1,堆结构的heapInsert与heapify2,堆结构的增大和减少3,如果只是建立堆的过程,时间复杂度为O(N)4,优先级队列结构,就是堆结构**/publicclassCode_03_HeapSort
hasp_Jason
·
2020-09-11 00:17
左神算法基础班源码
算法
左神算法
学习日记——子数组最大异或和
求子数组最大异或和,要求时间复杂度为O(n)classNode{public:Node(){next[0]=NULL;next[1]=NULL;}//构造之前所有异或和的前缀树voidaddnum(intnum){Node*trytree=this;for(inti=31;i>=0;i--)//应该确保高位尽量为1,所有应该从高位开始找,所以前缀树应该从高位开始构造{intcurbit=(num>
w275412237
·
2020-08-25 04:03
学习日记
上一页
1
2
3
下一页
按字母分类:
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
其他