自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 【数据结构与算法】二分查找法

那么如何确定左半部分、右半部分、以及中间值呢,肯定得用指针,二分查找法中我们首先要定义两个指针,一个做指针。答案是有的,比如二分查找法就是其中一种,二分查找法,也叫做二分搜索法,当数组是。上面这种算法可以解决问题,但是它并不优秀,最好的情况下,可能第一个元素就是目标值,时间复杂度是。如图所示数组被分为左右两部分,被中间值所分开,首先用中间值与目标值进行比较,如果中间值。中,查找一个目标值,如果该值存在,则返回对应的索引值,否则返回。,最坏的情况下,可能数组最末尾一个才是目标值,那么就要比较。

2024-04-04 18:41:32 293

原创 MySQL8 行级锁

MySQL InnoDB中的行级锁,优先使用临键锁,根据情况退化为间隙锁和记录锁。索引上的等值查询,如果记录不存在,则优化为间隙锁,但是当记录索引KEY值大于B+树中最大索引KEY的时候,依然保持临建锁,临键值=。对于聚集索引,范围查询,如果查询条件中包含临键值(临键区最大索引值)的时候,保持临键锁,否则退化为间隙锁。普通索引等值查询时,如果索引记录存在,会在二级索引上加该索引前间隙加临键锁和后间隙退化为间隙锁,在聚簇索引上对该索引记录加记录锁。二级索引,会访问到第一个不满足条件的值为止。

2024-03-26 14:21:23 953

原创 MySQL8表级锁

语句种类MDL锁兼容性说明SHARE_READ与SHARE_READ和SHARE_WRITE兼容,与EXCLUSIVE互斥表锁(LOCK TABLES 表名 READ/WRITE)SHARE_READ_ONLY 与SHARE_READ兼容,与SHARE_WRITE互斥;SHARE_NO_READ_WRITE与SHARE_READ_ONLY 和SHARE_WRITE都互斥。DDL (ALTER…、CREATE…等)EXCLUSIVE与所有MDL锁互斥。

2024-03-26 14:20:31 950

原创 Java日志框架体系

Java的日志框架有很多,常用的有log4j1.xlog4j2.xlogbackjuljcl等等,这些框架如何使用?他们如何与slf4j-api搭配使用?不搭配slf4j-api能否单独使用?使用过程中需要注意哪些事项?实际开发中我们也会遇到很多问题,本篇文章就是为了讲解下Java的日志体系。我会尽可能的讲解清楚,如有问题,欢迎指正!!!

2024-03-26 14:19:45 920

原创 【数据结构与算法】字符串匹配 - RK算法

在上面的代码中,通过循环加上截取字符串的方式肯定能获取到文本串中所有跟模式串长度一样的字串,然后通过hash算法,计算哈希值,与模式串的哈希值比较。两个大佬发明,RK算法的产生是因为发明者觉得BF算法那样每个字符一一比较太慢了,他们引入了哈希算法,哈希算法对主串中。,结果是正确的,那么这个算法就是完全没有问题的了吗?其实不是,只是我们的测试用力不够而已,看如下用例,文本串是。上述代码还有可优化的地方,我们看下我们计算文本串中字串的哈希值的时候,有了上面这些字串的哈希值,之后就可以与模式串的哈希值。

2024-03-26 10:36:51 517

原创 【数据结构与算法】字符串匹配 - 暴力算法

通过CTRL + F查找文本这种操作相信每个人都有,在一段文本中查找另外一段文本,这个操作就叫做字符串的模式匹配,比如在AABABCDEF中查找ABCD,那么AABABCDEF被叫做文本串(也叫主串),ABCD被叫做为模式串,通常主串的长度使用N来表示,模式串的长度使用M来表示,上面两个串的匹配情况如下图所示:正如上图绿色部分那样,文本串中包含模式串,结果就是匹配到了。字符串模式匹配的算法有很多,比如暴力算法、KMP算法、BM算法、BK算法等,一一来介绍。

2024-03-17 21:28:13 980

原创 【力扣】28. 找出字符串中第一个匹配项的下标

给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从 0 开始)。如果needle不是haystack的一部分,则返回-1。needle。

2024-03-09 11:38:42 341

原创 「力扣」27. 移除元素

给你一个数组nums**和一个值val,你需要移除所有数值等于val**的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以**「引用」**方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

2024-03-09 10:53:41 357

原创 「力扣」26. 删除有序数组中的重复项

给你一个的数组nums,请你删除重复出现的元素,使每个元素,返回删除后数组的新长度。元素的应该保持。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为knumsnumsknumsnumsnumsk如果所有断言都通过,那么您的题解将被。

2024-03-09 10:42:34 289

原创 21. 合并两个有序链表

将两个升序链表合并为一个新的链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。l2。

2024-03-09 10:41:52 362

原创 「力扣」20. 有效的括号

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。'()[]{}'

2024-03-09 10:41:21 229

原创 「力扣」14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。

2024-03-09 10:40:40 791

原创 「力扣」13. 罗马数字转整数

more。

2024-03-09 10:39:29 767

原创 「力扣」9. 回文数

more。

2024-03-09 10:38:57 257

原创 「力扣」1. 两数之和

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。**进阶:**你可以想出一个时间复杂度小于O(n2)的算法吗?

2024-03-09 10:38:14 323

空空如也

空空如也

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

TA关注的人

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