自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

混凝土豆

一切为了自学成才!

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

原创 Redis数据结构和数据类型

Redis数据结构和数据类型以下整理自《Redis设计与实现》Redis数据结构简单动态字符串Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型,并将SDS用作Redis的默认字符串表示。区别总结:C字符串SDS获取字符串长度的复杂度为O(N)获取字符串长度的复杂度为O(1)API是不安全的,可能会造成缓冲区溢出API是安全的

2021-05-21 10:30:43 121

原创 两个示例弄懂KMP(Java)

两个示例弄懂KMP(Java)KMP简介KMP适用的问题:字符串匹配问题KMP核心操作:为模式串构建next数组,简化比较步骤,跳过绝不可能成功的字符串比较。构建next数组的核心思想:对模式串中的第i个字符,其前缀j个字符组成的子串与后缀j个字符组成的子串相等。也即对模式串p,有:p[1~j] = p[i-j+1~i](索引从1开始)详细的KMP解析和思考见:https://www.zhihu.com/question/21923021/answer/1032665486示例一:实现str

2021-04-20 19:43:34 131

原创 四个示例搞懂并查集(Java)

四个示例搞懂并查集(Java)并查集简介并查集适用的问题:元素分组问题并查集操作:合并(Merge),一般用于把两个集合合并,集合用一个树状结构表示,最终汇集到一个根节点;查询(Find),查询两个节点是否具有相同的根节点。并查集的两个优化操作:路径压缩:在查询的同时,通过parent[i] = find(parent[i]);进行路径压缩,避免了树结构的重复遍历,直接将节点的父节点化为根节点,提高查询效率。秩优化:合并过程中为了使树尽可能平衡,引入秩数组减小根节点左右子树高度差。在开

2021-04-20 14:11:42 238

原创 闫氏DP分析法

闫氏DP分析法以下为总结y总直播的内容,视频原址。思维是视频中的思维,代码是自己用Java写的。y总yyds!核心:从集合角度来分析有限集中的最值动态规划两个阶段:状态表示(化零为整)集合属性:max,min,count状态计算(化整为零)集合划分:不重复,不遗漏划分依据:寻找最后一个不同点0-1背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背

2021-04-13 13:59:15 181

原创 直接用IDEA刷leetcode的插件--Leetcode editor (保姆级安装示例教程)

直接用IDEA刷leetcode的插件–Leetcode editor (保姆级安装示例教程)你是否还在发愁刷 leetcode 不好debug?你是否还在往IDEA里粘代码调试好再“CV”回leetcode网页?(是本菜鸡)那么你就需要我下面讲的这款插件 — Leetcode-editor其实这款插件我装了很久了,之前一直不怎么用的上。两方面的原因,一是这款插件6.7之前的版本实际上就相当于将leetcode网页编辑界面搬到了IDEA上,debug调试仍旧不太方便。二是我之前对leetc

2021-02-02 21:26:56 23002 17

转载 Python %d、%s、%r等用法【转载】

Python %d、%s、%r等用法————————————————版权声明:本文为CSDN博主「SuperCreators」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/SuperCreators/article/details/81393977...

2019-11-05 17:31:00 609

原创 Leetcode-21. 合并两个有序链表(python)

Leetcode-21. 合并两个有序链表问题描述Method 1Method 2问题描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4链表节点定义:class ListNode: def __i...

2019-11-01 20:13:20 177

原创 Leetcode-19. 删除链表的倒数第N个节点(python)

Leetcode-19. 删除链表的倒数第N个节点问题描述Method 1Method 2问题描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用...

2019-10-29 10:47:23 171

原创 Leetcode-2.两数相加(python)

Leetcode-2.两数相加问题描述Method 1问题描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -&g...

2019-10-27 15:48:58 179

原创 Leetcode-3.无重复字符的最长子串(python)

Leetcode-3.无重复字符的最长子串问题描述Method 1问题描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “...

2019-10-25 09:20:01 196

原创 Leetcode-1.两数之和(python)

Leetcode-1.两数之和两数之和Method 1Method 2Method 3两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums...

2019-10-24 10:30:08 130

空空如也

空空如也

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

TA关注的人

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