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
左神算法
左神算法
——第16题——二叉树的序列化和反序列化
//请实现两个函数,分别用来序列化和反序列化二叉树importjava.util.LinkedList;importjava.util.Queue;publicclasse03Serialize{publicstaticclassTreeNode{intval=0;TreeNodeleft=null;TreeNoderight=null;publicTreeNode(intval){this.va
Lamiaomiao
·
2020-07-28 21:03
左神算法
左神算法
最长公共子串 最长上升子序列
【题目】给定两个字符串str1和str2,返回两个字符串的最长公共子串【举例】Stringstr1=“1AB2345CD”;Stringstr2=“12345EF”;输出:2345【要求】如果str1长度为M,str2长度为N,实现时间复杂度O(M*N),空间复杂度O(1)这道题还是用动态规划解。状态转移方程和最长公共子序列有所不同,可以对照着理解。【常规做法】先维护一个二维数组,dp,这里规定d
梦想远航
·
2020-07-28 06:43
数据结构与算法
哈希函数+布隆过滤器+一致性哈希+哈希表
哈希函数+布隆过滤器+一致性哈希+哈希表认识哈希函数和哈希表设计RandomPool结构认识布隆过滤器认识一致性哈希(from
左神算法
初级班第6节)1.认识哈希函数和哈希表1)什么是哈希函数?
爱睡觉的泡泡
·
2020-07-15 06:44
算法
左神算法
5:哈希函数、哈希表、布隆过滤器、一致性哈希、并查集问题和岛结构
1.哈希函数和哈希表1.1哈希函数特点经典的哈希函数的输入域是无穷大的哈希函数的输出域是有穷尽的,虽然很大,但是是个固定的数值当输入参数固定的情况下,得到的输出参数固定,它不是随机函数,样本固定得到的输出值固定输入不一样,也有可能得到相同的哈希值(哈希碰撞)虽然会有两个输入对应同一个输出,但是对于大量的输入对应的输出域基本是平均分的即S域上均匀分布。推论:对于输入对应的哈希值,使其模M之后的结果同
hi168
·
2020-07-14 21:31
左神算法
左神算法
进阶班笔记Part2:单调栈
文章目录单调栈使用场景例题构造数组的MaxTree柱状图最大矩阵面积最大矩阵面积环形山烽火传递单调栈使用场景单调栈解决的问题是:【单调递减栈】对于一个数组中每一个数,求左边离他近的比他大的和右边离他近的比他大的数;【单调递增栈】对于一个数组中每一个数,求左边离他近的比他小的和右边离他近的比他小的数。同时时间复杂度O(n),单调减栈栈底到栈顶单调递减,从大到小,递增相反。【分析】只分析单调减栈,单调
Owl丶
·
2020-07-14 19:14
数据结构和算法
牛客网
左神算法
中级班学习笔记(第四章)
本文是牛客网
左神算法
中级班学习笔记。【分析】准备两个栈,一个栈是放数据的,另一个栈是放当前最小值的。
ccnuacmhdu
·
2020-07-14 08:42
牛客网左神算法
左神算法
讲堂笔记 01 归并排序和应用 --- 小和问题、逆序数
1、master公式求递归的时间复杂度T(N)=a*T(N/b)+O(N^d)log(b,a)>d->复杂度为O(N^log(b,a))log(b,a)=d->复杂度为O(N^d*logN)log(b,a)复杂度为O(N^d)2、归并排序(合并的时候,相等值那么左边先放,就能实现稳定性)第一步:左边整体有序第二步:右边整体有序第三步:左右整合成完全有序(耗费空间o(n))时间复杂度根据master
2112222222222
·
2020-07-13 11:49
算法讲堂
左神算法
最小编辑代价
【题目】给定两个字符串str1和str2,在给定三个整数ic,dc和rc,分别代表插入、删除和替换一个字符的代价,返回将str1编辑成str2的最小代价【举例】str1=“abc”str2=“adc”,ic=5,dc=3,rc=2【1】从abc编辑成adc,把b替换成d代价是最小的,返回2【2】如果rc=100,先删除b,再插入d代价是最小的,返回8【3】如果str1==str2说明不用修改,返回
梦想远航
·
2020-07-13 10:24
数据结构与算法
【
左神算法
】基础班第三课——两个栈实现队列,两个队列实现栈,最小值栈
两个栈实现队列基本要求:入队元素全部往push_stack里加出队元素全部从pop_stack里出,如果pop_stack里没有元素,push_stack所有元素压入pop_stack。#include#include#includeusingnamespacestd;classQUEUE{public:voidenqueue(intx);intdequeue();intfront();boole
icebearzzz
·
2020-07-13 10:41
算法练习
06.归并排序 - MergeSort(
左神算法
基础班源码)
packagebasic_class_01;importjava.util.Arrays;/***master公式的使用*T(N)=a*T(N/b)+O(N^d)1)*log(b,a)>d->复杂度为O(N^log(b,a))2)*log(b,a)=d->复杂度为O(N^d*logN)3)*log(b,a)复杂度为O(N^d)*归并排序的细节讲解与复杂度分析*时间复杂度O(N*logN),额外空间
hasp_Jason
·
2020-07-13 02:48
左神算法基础班源码
算法
【
左神算法
】基础班第三课(二)——矩阵打印
顺时针顺序打印记录圈数,然后一圈一圈的打印。注意最后一圈只有一行或者一列的情况#include#include#include#include#include#includeusingnamespacestd;vectorf(vector>v){vectorres;if(v.size()!=0){intlevel=(int)(min(v[0].size()-1,v.size()-1))/2+1;i
icebearzzz
·
2020-07-07 21:01
算法练习
左神算法
课——并查集c++实现
classUnionFindSet{private:hash_mapfatnerMap;hash_mapsizeMap;public:UnionFindSet(vectordata);charfindHead(charcur);//找代表结点boolisSame(chara,charb);//是否同集合voidUnion(chara,charb);//合并};UnionFindSet::Union
姜蒋酱7
·
2020-07-07 21:36
编程学习
数据结构与算法
牛客网
左神算法
中级班学习笔记(第三章)
本文是牛客网
左神算法
中级班学习笔记。【分析】宏观考虑!!!搞两个点A,B,起始都在左上角,B往右走,走到最右边就往下走,A往下走,走到最下边就往右走。
ccnuacmhdu
·
2020-07-01 19:30
牛客网左神算法
左神算法
、牛客网算法-初级5(python实现)
实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式classTreeNode():def__init__(self,value):self.value=valueself.right=Noneself.left=None递归模式defpreOrderRecur(root):ifnotroot:returnprint(root.value,end="")preOrderRecur(root.
禾-Ming
·
2020-06-29 10:06
数据结构与算法
左神算法
、牛客网算法-初级4(python实现)
转圈打印矩阵【要求】额外空间复杂度为O(1)。defprint_circle(arr,top_row,top_column,down_row,down_column):iftop_row==down_row:foriinrange(top_column,down_column+1):print(arr[top_row][i],end="")eliftop_column==down_column:f
禾-Ming
·
2020-06-29 10:06
数据结构与算法
左神算法
、牛客网算法-初级1(python实现)
归并排序defmerge_sort(nums):n=len(nums)ifn>1left=merge_sort(nums[:mid])right=merge_sort(nums[mid:])left_point=0right_point=0res=[]whileleft_point>1left=samll_sum(nums[:mid])right=samll_sum(nums[mid:])left
禾-Ming
·
2020-06-29 10:05
数据结构与算法
python
leetcode
左神算法
、牛客网算法-初级2-3(python实现)
问题(荷兰国旗问题)给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N)defNether_land_flag(arr,num):n=len(arr)less=-1more=ncur=0whilecurnum:#more,cur不用++more-=1arr[more],arr
禾-Ming
·
2020-06-29 10:05
左神算法
课笔记(二):链表、栈和队列、递归Master公式、哈希表、有序表
单向链表双向链表单链表、双链表最简单的面试题1、单链表和双链表如何反转packageclass02;importjava.util.ArrayList;publicclassCode01_ReverseList{publicstaticclassNode{publicintvalue;publicNodenext;publicNode(intdata){value=data;}}publicsta
寒泉Hq
·
2020-06-26 12:02
马士兵课程
左神算法
课笔记(一):时间复杂度、排序、对数器、二分法、异或运算
我们常说,程序=算法+数据结构。结果光搞框架去了,有点说不过去~时间复杂度常数时间的操作:如果一个操作的执行时间不以具体样本为转移,每次执行时间都是固定时间。称这样的操作为常数时间操作。数组的寻址操作就是固定时间操作,与数据量无关。>>带符号右移>>>不带符号右移常数时间的操作包括:非常数时间操作包括:链表获取i位置的元素选择排序在0~n-1位置中找到最小值,和0位置的数交换找1~n-1位置最小值
寒泉Hq
·
2020-06-26 12:01
马士兵课程
左神算法
基础class4—题目3在二叉树中找到一个节点的后继节点、前驱节点
左神算法
基础class4—题目3在二叉树中找到一个节点的后继节点、前驱节点1.题目:在二叉树中找到一个节点的后继节点2.分析3.核心代码(1)新二叉树的数据结构(2)添加树中的节点(由构造函数)(3)查找后继节点
是阿毛啊
·
2020-06-26 09:42
左神算法基础课
【
左神算法
】一种接收消息并按顺序打印的结构设计
题目:一种消息接收并打印的结构设计:已知一个消息流会不断地吐出整数1~N,但不一定按照顺序吐出。如果上次打印的数为i,那么当i+1出现时,请打印i+1及其之后接收过的并且连续的所有数,直到1~N全部接收并打印完,请设计这种接收并打印的结构。例如:消息流吐出2,一种结构接收而不打印2,因为1还没出现;消息流吐出1,一种结构接收1,并且打印:1,2。消息流吐出4,一种结构接收而不打印4,因为3还没出现
pcwl1206
·
2020-06-24 19:03
左神算法
手撕代码
接收消息
顺序打印
【
左神算法
】给定一个数字组成的字符串,返回有多少种合法的 IPV4 组合
题目:给定一个数字组成的字符串str,返回有多少种合法的IPV4组合。举例:str=“245111”,只有一种合法IPV4组合:245.1.1.1,所以返回1str=“11111”,所有合法的IPV4组合为:1.1.1.111.1.11.11.11.1.111.1.1.1所以返回4str=“100111”,所有合法的IPV4组合为:100.1.1.1所以返回1注意:10.01.1.1,并不合法,因
pcwl1206
·
2020-06-24 19:03
左神算法
手撕代码
【搞定算法】二叉树信息收集问题(高度套路)
本文整理了
左神算法
讲解中关于二叉树信息收集问题的高度套路。都是首先想好假设,想和子树要什么样的信息,然后自己拿到这个信息需要返回自己的什么信息。
pcwl1206
·
2020-06-24 19:01
数据结构与算法
手撕代码
左神算法
二叉树
左神
【LeetCode】第124题:二叉树的最大路径和
LeetCode链接:https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/本题可以对比
左神算法
中的:二叉树中的最远距离,只不过最远距离中没有考虑权重的问题
pcwl1206
·
2020-06-24 19:30
leetcode
手撕代码
【搞定
左神算法
初级班】第7节:暴力递归、动态规划
目录:一、递归题目1:求n!的结果题目2:汉诺塔问题题目3:打印一个字符串的全部子序列,包括空字符串题目4:打印一个字符串的全部排列题目5:母牛每年生一只母牛,新出生的母牛成长三年后也能每年生一只母牛,假设不会死。求N年后,母牛的数量二、动态规划动态规划的特点如何把暴力递归套路变为动态规划题目1:矩阵最小路径和题目2:(背包问题)从数组任意选择数字,能不能累加得到aim一、递归暴力递归的步骤:1:
pcwl1206
·
2020-06-24 19:29
左神算法
【搞定
左神算法
初级班】第4节:二叉树及相关常见面试题
目录:题目1:实现二叉树的先序、中序、后序遍历【递归方式和非递归方式】题目2:在二叉树中找到一个节点的后继节点题目3:介绍二叉树的序列化和反序列化题目4:折纸问题题目5:判断一棵二叉树是否是平衡二叉树题目6、判断一棵树是否是搜索二叉树、判断一棵树是否是完全二叉树题目7:已知一棵完全二叉树,求其节点的个数题目1:实现二叉树的先序、中序、后序遍历【递归方式和非递归方式】递归思想:【分析】:必须想清楚你
pcwl1206
·
2020-06-24 19:29
左神算法
【搞定算法】常见算法题分类总览
主要的题目来源自:剑指Offer、LeetCode、
左神算法
、面试、笔试、面经等等。下面按照分类记录:说明(个人见解):一、标注说明标注手撕:必须掌握,熟练写出
pcwl1206
·
2020-06-21 04:00
手撕代码
左神算法
数据结构与算法
性能调优+
左神算法
面试指南,程序员,你不加薪谁加
不知道你们有遇到过哪些奇葩代码,最近换工作的小伙伴可能会遭遇比较多,都是前人留下的“工程”,蛮多后台给我吐槽的,毕竟不是每个程序员都像你们一样热爱学习、严谨简洁。比如恐怖的类属性定义。将属性定义写500多行,最大值不会超过20000,直接定义Uint32??将底层的协议解析的内存尽情挥霍了,所以数据结构课用来打王者荣耀了吗?比如奇葩命名。没有注释的命名法,你能凭借序列号知道这是啥玩意儿?也许老板看
Java架构师联盟
·
2020-04-17 14:36
java
数据结构
java
编程语言
jvm
算法笔记——单调栈
借鉴——单调栈总结/牛客网
左神算法
进阶班基本问题对于一个数组arr,针对每个数,寻找它和它左/右边第一个比它大/小的数的值,以及相距多少个数。基本思路:创建一个栈,将数组中的元素下标传进去。
yaco
·
2020-04-11 13:06
左神算法
进阶班6_2字符串运算公式
【题目】给定一个字符串str,str表示一个公式,公式里可能有整数、加减乘除符号和左右括号,返回公式的计算结果。【举例】str="48*((70-65)-43)+8*1",返回-1816。str="3+1*4",返回7。str="3+(1*4)",返回7。【说明】1.可以认为给定的字符串一定是正确的公式,即不需要对str做公式有效性检查。2.如果是负数,就需要用括号括起来,比如"4*(-3)"。但
weixin_30632089
·
2019-06-25 19:00
【搞定
左神算法
初级班】第6节:前缀树、贪心算法
目录:一、前缀树:PrefixTree1.1前缀树题目举例:一个字符串类型的数组arr1,另一个字符串类型的数组arr21.2前缀树的insert、delete、search、prefixNum方法二、贪心算法题目1:按最低字典序拼接字符串题目2:切分金条总代价最小题目3:最多做K个项目的最大利润题目4:安排最多的宣讲场次一、前缀树:PrefixTree前缀树又叫字典树、Trie树,单词查找树或键
pcwl1206
·
2019-03-30 21:25
左神算法
左神算法
堆
贪心算法
Java对数器的使用讲解
听
左神算法
课的时候学到了一个非常有用的东西――对数器对数器是用来测试代码正确性的,我们在找不到合适的oj系统测试自己的代码时,可以自己写一个对数器对代码进行测试设计对数器的一般步骤为:1.有一个你要测的方法
sdr_zd
·
2019-01-04 08:59
上一页
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
其他