自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

尔等同学的博客

小白的学习博客

  • 博客(163)
  • 收藏
  • 关注

原创 【随想录6-1】环形链表相关问题及其证明

试着解决如下问题如何证明环形链表有环?为什么双指针一定会在环内相遇?如果快指针一次走三步是否一定相遇?5步呢?n步呢?证明一下上一条为什么此题快慢指针中,快指针比慢指针仅多走一步?为什么这么设置?如何找到入环节点证明一下上面方法的正确性如何证明环形链表有环?leetcode 141 题自己搜为什么双指针一定会在环内相遇?来自代码随想录群友穿靴子的猫的解释假设快指针一次走x步,慢指针一次y步,相遇意味着二者路程差了n圈,一圈长度是C,则经过t时间,xt-yt=nC,n是快指针比慢

2021-12-25 15:39:32 583

原创 剑指2022实习笔记目录

个人博客:http://erdengk.top/Github:https://github.com/erdengk目录算法刷题基础训练营部分Java-容器Java-并发JVM数据库-Redis计算机基础知识-网络计算机基础知识-操作系统记录下春招之前的学习笔记,视频中部分内容没有记录在内,请不要盲目照搬参考的博客也写在了每篇博客的最下面,感谢前人的总结,使得后来者可以走的更远。祝愿大家都能拿到满意的offer算法学习左程云老师的算法课:观看建议及个人学习体会刷题按照代码随想录的顺序刷题,然

2021-10-06 20:04:11 17710 11

原创 Docker 配置 https

nginx 配置 https ,因为直接在虚拟机上配置可能会污染虚拟机环境,不利于随时调整,所以选用docker配置nginx 及 https。

2023-01-29 11:26:33 49

原创 测试一文多发

测试本文由博客一文多发平台 OpenWrite 发布!

2023-01-26 18:37:02 140

原创 我的硕士前半生

本篇文章属于随笔类,它可能无法对你起到直接帮助,它只是我这个普通学生一年半以来的一些足迹与思考。

2023-01-22 14:44:20 7585 14

原创 测试星球发布

good

2023-01-10 15:24:36 106

原创 22年12月日常实习总结

22年日常实习总结

2023-01-01 14:44:27 721

原创 Java源码学习【1】:ArrayList

ArrayListpublic class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable实现了 RandomAccess 接口,用索引进行增删改查的数据结构,需要实现随机访问接口。迭代器效率低于for循环,非RandomAccess 接口(LinkedList)建议使用迭代器。Clon

2022-05-24 15:48:55 122

原创 GSoC 从开始到中选

手把手带你申请GSoC

2022-05-20 11:29:13 693

原创 算法训练营【7】线段树

线段树、IndexTree线段树:1,一种支持范围整体修改和范围整体查询的数据结构2,解决的问题范畴:大范围信息可以只由左、右两侧信息加工出,而不必遍历左右两个子范围的具体状况线段树实例给定一个数组arr,用户希望你实现如下三个方法1)void add(int L, int R, int V) : 让数组arr[L…R]上每个数都加上V2)void update(int L, int R, int V) : 让数组arr[L…R]上每个数都变成V3)int sum(int L, in

2022-04-27 17:01:22 1998

原创 分布式协议与算法实战【1】拜占庭将军问题

本系列为学习极客时间的 《分布式协议与算法实战》拜占庭将军问题:有叛徒的情况下,如何才能达成共识?共识难题如何在可能有误导信息的情况下,采用合适的通讯机制,让多个将军达成共识,制定一致性的作战计划?假设只有 3 个国家要攻打秦国,这三个国家的三位将军,咱们简单点儿,分别叫齐、楚、燕。同时,又因为秦国很强大,所以只有半数以上的将军参与进攻,才能击败敌人(注意,这里是假设哈,你别较真),在这个期间,将军们彼此之间需要通过信使传递消息,然后协商一致之后,才能在同一时间点发动进。二忠一叛的难题.

2022-03-19 21:43:49 487

原创 【随想录12】01背包练习

动态规划01背包练习01背包的题目:416. 分割等和子集1049. 最后一块石头的重量 II494. 目标和474. 一和零416. 分割等和子集类加所有数字为sum,如果sum为奇数返回false然后试着将所有数字分成两份,如果其中有一份能达到sum/2 ,返回true,否则为false。DFS, 暴力过不了所有的点 public static boolean canPart( int[] nums ) { int sum = 0; for

2022-03-08 17:13:14 309

原创 【随想录11】动态规划-01背包

背包问题/01背包背包问题泛指一类「给定价值与成本」,同时「限定决策规则」,在这样的条件下,如何实现价值最大化的问题【1】01背包「01背包」是指给定物品价值与体积(对应了「给定价值与成本」),在规定容量下(对应了「限定决策规则」)如何使得所选物品的总价值最大【1】01背包的题目:416. 分割等和子集1049. 最后一块石头的重量 II494. 目标和474. 一和零经典01背包给定两个长度都为N的数组weights和values,weights[i]和values[i]分别代表i

2022-03-02 23:23:31 179

原创 【MySQL 45讲-12】第12讲mysql时不时抽风的原因

12 | 为什么我的MySQL会抖一下?前言一条SQL偶尔特别慢,且场景难复现,原因?做个比喻粉板:redo log掌柜的记忆: 内存账本: 数据文件脏页:内存数据页与磁盘数据页内容不一致刷脏页: 将内存页写入磁盘抖一下:可能实在刷脏页,平常执行很快的更新操作实在写内存和日志什么情况会引发数据库的flush过程?粉板满了,记不下了(redo log写满了,系统停止所有更新操作)尽量避免这种情况,全阻塞了,更新数跌为0生意太好,掌柜要.

2022-02-27 21:11:13 284

原创 【MySQL 45讲-11】第11讲 怎么给字符串字段加索引

11 | 怎么给字符串加索引?要解决的问题:支持邮箱登录的情况下,如何给邮箱加索引?前缀索引alter table SUser add index index2(email(6))email(6) 这个索引结构中每个邮箱字段都只取前 6 个字节(即:zhangs),所以占用的空间会更小,这就是使用前缀索引的优势可能会增加额外的记录扫描次数使用前缀索引,定义好长度,就可以做到既节省空间,又不用额外增加太多的查询成本区分度不够时用不了前缀索引,可试试倒叙存储记得用coun.

2022-02-27 20:52:03 315

原创 【MySQL 45讲-10】第10讲MySQL如何选择索引

10 | MySQL为什么有时候会选错索引? (可进行项目扩展)优化器的逻辑优化器的工作:​ 选择索引选择索引目标: 最小的代价执行扫描行数根据统计信息来估算记录数统计信息不准确,用analyze table来解决基数越大,索引的区分度越好基数:一个索引上不同值得个数使用show index方法查询索引基数MySQL如何得到索引的基数?采样统计,默认选择N个数据页,统计这些页面上的不同的值,得到平均值再乘以页面数区分度:统计信息使.

2022-02-27 20:39:05 290

原创 【MySQL 45讲-9】第9讲普通索引和唯一索引

09 | 普通索引和唯一索引,应该怎么选择?查询过程举个栗子select id from T where k=5查找过程:从B+树的树根开始,按层搜索到叶节点(数据页),然后根据二分法在数据页内部来定位。建立普通索引还是唯一索引?普通索引:查到第一个满足的记录后,需要查找下一个记录,直到碰到不满足k=5,结束唯一索引:因为有唯一性,所以找到了第一个满足的记录后就结束了性能差距:微乎其微InnoDB按数据页为单位读写所以都是读取一页,只是怕普通索引要多做一次查找.

2022-02-27 20:28:08 412

原创 【MySQL 45讲-8】第8讲 事务隔离性及快照的实现

总览图08 | 事务到底是隔离的还是不隔离的?当一个事务进入等待状态,那么等到这个事务自己获取到行锁要更新数据时,他读到的值是什么?begin/start transaction并不是一个事务的起点,在执行到他们之后的第一个操作表的语句,事务才真正启动。想要马上启动一个事务可以使用 start transaction with consistent snapshot 这个命令举个栗子(id,k) values(1,1,)(2,2)事务B:k=3事务A:k=1视图

2022-02-20 22:07:15 497

原创 【MySQL 45讲-6&7】第6&7讲 数据库的锁

总览图06 | 全局锁和表锁锁的设计初衷:处理并发问题锁的分类全局锁表级锁行锁全局锁对整个数据库实例加锁加全局读锁的命令:Flush tables with read lock(FTWRL)数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。这些语句会被阻塞典型使用场景:全库逻辑备份即:把整个库的表都select出来存成文本用mysqldump使用参数-single-transaction来启动一个事务

2022-02-17 21:08:41 469

原创 【MySQL 45讲-5】第5讲-索引下

总览图05 | 深入浅出索引(下)例子select * from T where k between 3 and 5需要执行几次树的搜索操作?在k索引树上找到k=3的记录,取得ID=300;在主键索引树上查到ID=300对应的R3;在k索引树上取下一个值k=5,取得ID=500;再回到主键索引树上查到ID=500对应的R4;在k索引树上取下一个值k=6,不符合条件,循环结束。查询过程读了 k 索引树的 3 条记录(步骤 1、3 和 5),回表了两次(步骤 2 和

2022-02-16 21:43:18 219

原创 【MySQL 45讲-4】第4讲-索引上

总览图04 索引(上)索引是为了提高数据查询的效率,类似于书的目录索引常见模型哈希表键值对来存储数据思路:将值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置。哈希碰撞:拉链法因为不是有序的,所以哈希索引做区间查询的速度很慢适用情景:只有等值查询,如Mencached、NoSQL有序数组适用场景:等值查询和范围查询但更新数据时成本过高需要挪动数据所以只适用于静态存储引擎,(不会再修改的数据)搜索树

2022-02-16 21:32:26 336

原创 【随想录10-番外 】前缀和数组

前缀和学习自 小而美的算法技巧:前缀和数组303. 区域和检索 - 数组不可变304. 二维区域和检索 - 矩阵不可变560. 和为 K 的子数组1314. 矩阵区域和class NumArray { int []arr; public NumArray(int[] nums) { arr = new int [nums.length+1]; arr[0]=nums[0]; for(int i =1 ; i<arr.leng

2022-01-25 19:48:30 211

原创 【MySQL 45讲-3】第3讲-事务隔离

事务隔离MySQL原生引擎MyISAM不支持事务,所以被InnoDB取代。事务, ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性)redis 的隔离性是?redis 的事务中的隔离性并没有保证原子性,已经做过的操作是不会rollback的。它的隔离性是指其他事务不会干扰到它自己的事务。隔离性与隔离级别隔离性Isolation:一个事务执行时不能受其他事务的干扰。隔离级别读未提交 read uncommi.

2022-01-20 15:58:29 587

原创 【随想录9 】回溯及模版(子集、排列问题)

模版// 结果集合 public List<List<Integer>> res = new ArrayList<>();// 路径集合 public LinkedList<Integer> path = new LinkedList<>(); public List<List<Integer>> model(int[] nums) { // 根据是否需要指定开始位置进行传参

2022-01-10 16:17:45 418

原创 【随想录8 】是否允许重复选择元素的组合问题

参考:代码随想录回溯算法组合问题待选组合无重复元素77. 组合216. 组合总和 III17. 电话号码的字母组合待选组合无重复元素,但可以多次选取同样的元素39. 组合总和待选组合有重复元素,且待选元素只可以被使用一次40. 组合总和 II组合问题一般是给定一个集合和特定要求,求有多少种子集合能符合特定要求。需要合理暴力才能在规定时间内完成算法,如果只是n个for循环再加时间不限,确实是可以满足要求,但咱作为有追求的coder是不允许自己写出那种代码的。待选组合无重复元素77.

2022-01-01 15:25:50 3715

原创 【随想录7 】nSum问题的重点是合理去重

参考 : 一个方法团灭 nSum 问题在一个数组中,给定targer,找到 n 个数使它们的和为target比如数组为 [-4,-4,-3,-2,-1,0,1,2,3,4,4]n = 2 时,target=0, 结果有 [-4,4] , [-3,3] …n = 3 时,target=0, 结果有 [-4,1,3] ,[-3,1,2]…n = 4 时,target=1,结果有 [-4,-2,3,4]…题目可以问有个种下标不同的组合方法,也可以问有多少种数组元素不同的组合方法1. 两数之和1

2021-12-26 17:04:55 678

原创 【MySQL 45讲-1&2】第1讲和第2讲

本系列笔记学习MySQL 45讲,思维导图来源网络,侵删。总览图1.sql执行过程先查询缓存一般不建议使用查询缓存,因为一个表的更新会导致这个表的缓存结果失效,重复的建立缓存并不是高效的使用办法。除非这个表不会经常变动,如系统配置表query_cache_type=demand, 默认的都不使用查询缓存使用查询缓存: SQL_CACHE显式指定没命中缓存会去执行语句分析器做词法分析(分析每个字符串)、语法分析(判断是否满足语法)分析器处理后会经过优化器处理优化器的作用是选择使用哪种方案

2021-12-25 18:48:22 62

原创 【随想录6 】环形链表与回文链表总结(带正确性证明)

个人认为链表这部分的算法相对简单,笔试中需要ac,面试需要能说明白为什么这么操作能保证其结果正确性就好了。链表问题考察的时间复杂度,空间复杂度稍不重要,笔试中为了过怎么都可以,面试一定要聊时间空间都最优的解法,141. 环形链表142. 环形链表 II234. 回文链表环形链表141. 环形链表法一,用set将每个节点装进去,如果下次遇到同样地址的节点,那就代表有环,如果直到遍历的指针都为空了,还没有遇到重复的节点,那就是没有环了。注意set装的是节点的地址不是节点的值,值可以重复,但是

2021-12-25 15:32:08 268

原创 分布式数据库学习4-事务一致性

如果你想真正得到一些知识,最好过滤一下你的信息,否则你只是在别人的思考中得意着。获得多少并不取决于读了多少,而取决于思考了多少。《暗时间》 刘未鹏此系列学习分布式数据库30讲的笔记,导图是本文结构,具体细节在后文,可用导图回忆框架,具体细节再具体查看。文章图片和部分内容来自极客时间,如有版权问题,请联系我删除。欢迎加入学习总览BASEBA 表示基本可用性(Basically Available),S 表示软状态(Soft State),E 表示最终一致性(Eventual Consis.

2021-12-23 21:23:02 862

原创 分布式数据库学习3-强一致性

如果你想真正得到一些知识,最好过滤一下你的信息,否则你只是在别人的思考中得意着。获得多少并不取决于读了多少,而取决于思考了多少。《暗时间》 刘未鹏此系列学习分布式数据库30讲的笔记,导图是本文结构,具体细节在后文,可用导图回忆框架,具体细节再具体查看。文章图片和部分内容来自极客时间,如有版权问题,请联系我删除。欢迎加入学习概览图分布式数据库学习3-强一致性分布式中一致性分布式中的强一致性其实指的就是 事务一致性和数据一致性事务一致性状态一致性(State Consistency.

2021-12-23 19:29:43 1321

原创 【随想录5 】反转链表总结

本文学习与总结自递归反转链表的一部分题目主要是有三道反转链表的题目:206. 反转链表92. 反转链表 II25. K 个一组翻转链表实现反转链表非递归实现递归实现

2021-12-23 16:50:50 545

原创 【随想录4 】各种各样打印矩阵的方式

本文参考左老师算法课内容打印矩阵题比较常见的有以下几道:59. 螺旋矩阵 II54. 螺旋矩阵剑指 Offer 29. 顺时针打印矩阵48. 旋转图像之字形打印矩阵总体来说,做矩阵相关题目时,需要宏观看待整个变化过程。先多模拟几个用例找到其规律,再开始写代码59. 螺旋矩阵 II59. 螺旋矩阵 II将大矩阵可以看作由一圈圈小矩阵组成,只要逐层将矩阵内的数字填好,那么大矩阵也就填好了。对于每一圈小矩阵,可以将其分解为四个子矩阵,相当于矩形的四条边。 (x1,y1)->

2021-12-21 21:20:51 292

原创 【随想录3】滑动窗口总结 2

模版学习自labudong的算法模版 public boolean windowModle( String s1, String s2 ) { HashMap<Character, Integer> need = new HashMap<>(); HashMap<Character, Integer> window = new HashMap<>(); for ( int i = 0; i <

2021-12-21 21:04:08 442

原创 分布式数据库2-什么是分布式数据库

如果你想真正得到一些知识,最好过滤一下你的信息,否则你只是在别人的思考中得意着。获得多少并不取决于读了多少,而取决于思考了多少。《暗时间》 刘未鹏此系列学习分布式数据库30讲的笔记总结图分布式数据库2-什么是分布式数据库两种业务场景OLTP联机交易数据量小、但需要实时给出结果OLAP联机分析数据量大、需要进行分析OLTP 联机交易特点写多读少低延时高并发外部视角定义1.0满足写多读少、低延时、高并发的数据库定义2.0分布式数据库可.

2021-12-17 20:04:51 718

原创 分布式数据库1-为什么要学习分布式数据库

如果你想真正得到一些知识,最好过滤一下你的信息,否则你只是在别人的思考中得意着。获得多少并不取决于读了多少,而取决于思考了多少。《暗时间》 刘未鹏此系列学习分布式数据库30讲的笔记总结图为什么要学习分布式数据库性能与可靠性要求提高单体数据库的不足单体数据库已经不能满足互联网发展的需求单体数据库挂掉之后,数据容易丢失,无法满足可靠性供需两旺阿里OceanBaseTiDB中信银行GoldenDBotherCockroachDB、YugabyteDB、TBase、.

2021-12-17 19:49:46 626

原创 【随想录2】滑动窗口总结 1

滑动窗口相同知识点类型题见Github过例子 长度最小的子数组先用这一道题来过一下例子209. 长度最小的子数组想象一个管道,元素可以从头进入,可以从尾部出去。每一个元素进入后,我们都可以计算管道里面元素是否符合当前的要求如果符合,记录下当前的状态如果不符合,看是否需要将最先进入的元素取出。对于此题,所有元素均为正整数,新加入的元素总会让管道里元素之和保持不变或者变大,同时题目要求的是长度最小的字数组,所以在判断过程中需要记录管道内元素的个数。如果某时刻管道内元素大于target,需要

2021-12-17 19:35:41 954

原创 【随想录1】寻找指定位置-二分法

寻找指定位置代码仓库704. 二分查找34. 在排序数组中查找元素的第一个和最后一个位置二分法二分法的难点在于其细节而不是其思想,所以学习过程中要明白其思想,知道所有细节,并能够用代码实现出来。二分法主要有两种写法left<=right public int search(int[] nums, int target) { int l=0; int r=nums.length-1; //因为left == right是有意义的,所以

2021-12-16 11:49:41 1842

原创 M1 mac配置多个jdk且可以主动切换

多个Java环境由于项目需要,需要jdk11来运行一个项目,但其他项目又是jdk1.8的,不方便直接更换jdk,所以就需要在一个机器上配置多个jdk安装jdk11下载jdk11文件下载地址:https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_osx-x64_bin.tar.gz解压安装包(系统中默认安装位置:/Library/Java/JavaVirtualMachines/)sudo tar -zxf ope

2021-12-13 20:58:03 1800

原创 左老师算法课学习建议

左老师算法课学习建议以下均为个人看法,如果与你想法冲突,以你为准据我所知,左老师讲算法的课主要是两套第一套是在牛客讲的,分为基础班,基础提升,中级班,高级班第二套应该是在马士兵老师那讲的,分为基础班,基础提升,训练营区分方法主要是看ppt和讲课方式ppt是pdf 且 带牛客字样的,就是牛客那套ppt是ppt且上课有用腾讯课堂讲课的,就是马老师的那套我个人看过牛客的基础班,没有完全学完现在在看马士兵老师这边的基础班总体来说两边内容差不多,但马老师这边的课新加了一些东西个人觉得以上两套课,

2021-12-12 21:12:07 753

原创 算法训练营【6】Morris遍历及其相关扩展

请问

2021-11-27 16:35:23 318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除