自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MVCC 多版本并发控制

MVCC 多版本并发控制多版本并发控制多版本并发控制(Multi-Version Concurrency Control, MVCC)是 MySQL 的 InnoDB 存储引擎实现隔离级别的一种具体方式,用于**实现提交读(Read Committed,简称RC)和可重复读(Repeatable Read,简称RR)**这两种隔离级别。而未提交读隔离级别总是读取最新的数据行,要求很低,无需使用 MVCC。可串行化隔离级别需要对所有读取的行都加锁,单纯使用 MVCC 无法实现。基本思想当多个事务同时执

2020-08-12 16:53:30 154

原创 单例模式——Double Check 双重校验锁实现方式为什么要加volatile关键字

单例模式——Double Check 双重校验锁实现方式为什么要加volatile关键字单例模式双重校验锁实例:public class Singleton { private static volatile Singleton singleton = null; private Singleton() {} public static Singleton getInstance(){ //第一次校验singleton是否为空 if(

2020-07-30 16:00:15 580

原创 快慢指针专题

快慢指针专题针对的题型快慢指针主要针对以下两种类型的题目,其中第一种比较常见判断链表或数组是否有环或与环相关的问题寻找中点与双指针的区别:​ 快慢指针:像单链表这样的数据结构,指针只能进行单向运动,通常使用快慢指针​ 双指针:像数组或双向链表这样的数据结构,可以考虑是否使用双指针。还有一个特点是,通常数组或双向链表是有序的下面从LeetCode中选取四道题为例。快慢指针例题141.环形链表题目描述:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来

2020-06-22 21:24:37 267

原创 LeetCode 76 最小覆盖子串

LeetCode 76 最小覆盖子串最小覆盖子串题目描述题目描述:给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。如果 S 中存在这样的子串,我们保证它是唯一的答案。题解这题属于滑动窗口类型。思路简单来说就是,用start、end控制一个滑动窗口。当滑动窗口中未包含所有T中字符,end右移

2020-06-04 20:16:00 123

原创 面向对象和面向过程的特点及区别

面向过程面向过程指的是,分析出解决问题所需的若干个步骤,用函数将这些步骤一一实现,使用时依次调用这些函数即可。优点: 性能比面向对象高。常用于单片机、嵌入式开发、Linux/Unix,因为它们侧重于更高的性能、更小的资源消耗缺点: 没有面向对象易维护、易复用、易扩展引用网上看到的一个五子棋例子:面向过程的设计思路是分析解决问题的步骤:1)开始游戏,2)黑子先走,3)绘制画面,4)判断输赢,...

2020-04-06 15:55:18 2594

原创 剑指Offer——判断平衡二叉树

最直接做法最直接的做法就是根据平衡二叉树的定义和特点来判断,1)一棵平衡二叉树的左右子树都是平衡二叉树;2)平衡二叉树的左右子树的高度差不超过1。class Solution {public: bool IsBalanced_Solution(TreeNode* pRoot) { if(TreeDepth(pRoot)<=2) retur...

2020-03-25 22:04:44 137

原创 剑指Offer——两个链表的第一个公共节点

剑指Offer——两个链表的第一个公共节点两个链表的第一个公共节点计算两个链表长度的解法不计算链表长度的解法两个链表的第一个公共节点计算两个链表长度的解法先用两个指针遍历两个链表计算出链表长度l1和l2,然后让长链表的指针从头先走abs(l1-l2)步,再一起往后走并判断两个指针是否相等,找到第一个相等的节点就是公共节点。/*struct ListNode { int val; st...

2020-03-24 21:08:01 91

空空如也

空空如也

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

TA关注的人

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