shihunyewu

我走过,路过

C++-STL

"C++ STL 的基本使用"

解开困扰自己已久的疑惑,更能满足自己的好奇心 C++ STL 概述 C++ STL 的容器分为两类,一类是序列式容器,一类是关联容器。 序列容器 vector list deque heap queue priority_queue 基本使用 #include <queue> #include <iostream> /* #include <algor...

Rotate-array-find-min

"旋转数组中查找最小的元素"

现在的不如意都有个不努力的曾经 153. Find Minimum in Rotated Sorted Array 旋转数组即将递增数组拦腰折断,将前半部分移到后半部分之后。寻找最小元素,也就是寻找折点。 这道题目改变了我对二分查找的认识,以前对二分查找死记硬背,认为返回值一定是 nums[m],每次判断之后不是 l = m + 1 就是 h = m - 1。 该题目中的每次...

regular-expression-matching

" 正则表达式匹配 "

有的问题是值得花时间去深究的 10. Regular Expression Matching 递归版本 从题意中得知,一共有三种情况 ”.” 可以匹配任何字符,直接跳过 普通字符,直接匹配 “*” 必须要和前面的字符一起考虑,因此当遍历到字符 c 的时候,检查后一个字符是否为 *,如果为 *,那么就存在两种策略,一种是匹配 0 次,一种是匹配一次,递归调用匹配函数 ...

big-data

"海量数据算法"

总是会想起之前自己的哑口无言 海量数据处理 基本方法,常见的有 Hash 法, Bit-map 法,Bloom filter 法,数据库优化法,倒序索引法,外排序法,Trie 树,堆,双层桶法,以及 MapReduce 法。 BitMap 算法 BitMap 实际上就是用第 n 个 bit 位是否为 1 表示是否存在数字 n 形象生动的讲解 参考 参考2 参考3 参考4 Bl...

Mysql-Isolation

"Mysql 中的隔离级别"

Mysql 中的隔离级别 Mysql 中的隔离级别 四种隔离级别 读未提交 A 事务读取数据集时, B 事务对数据集修改后,还未提交,但是 A 事务已经能够读取到 B 事务级对数据集的修改。这里存在的问题也叫做脏读。 读已提交 事务原子化,B 事务完全提交后,A 事务才可以读取。能够解决脏读问题,无法解决重复读问题。 可重复读 事务 A 中,对数据集的两次读取操作得到的数据集相同。...

reverse-part-linked-list

"翻转部分链表"

链表就地转置之定点部分转置 92. Reverse Linked List II 边界值值得思考 大神版本 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { va...

Longest Substring

"最长子串问题"

自入题海以来,饱受X*最长的子串问题的困扰 3. Longest Substring Without Repeating Characters 该题目求的是最长非重复子串。直接使用暴力方法计算所有的可能子串,时间复杂度是O(n^2)。 想用空间换时间。首先需要记录当前在统计的子串的起始位置 start ,另外要能够判断子串的终止位置,记录最长子串的长度 ret。 现在可以用一个 H...

Simple-Sorted

"简单排序问题"

情况简单的排序方法 75. Sort Colors 总结一下题意就是说数组中只有出现 0,1,2 三个数字,对这个数组排序,禁止使用 api 排序,禁止统计 0 和 1 出现的次数,后按照出现次数依次重新赋值。要求遍历一遍就完成排序。 第一种方法:使用三个指针 l 指针代表从左到右第一个非 0 的元素的位置 h 指针代表从右到左第一个非 2 的元素的位置 i 表示...

JVM-learn

"深入理解 JVM 虚拟机"

参考书籍为《深入理解 Java 虚拟机》 第 2 章 Java内存区域与内存分配策略 2.2 运行时的数据区域 方法区 虚拟机栈 本地方法栈 Java 堆 程序计数器 2.2.1 程序计数器 当前线程所执行的字节码的行号指示器。 JVM 的多线程中每个线程都有一个独立的程序计数器,它们互不影响,独立存储。这类内存区域被称为”线程私有”的内存。 2.2.2...

DesignPatterns-Note

"常用设计模式"

设计模式离我们并不遥远,JDK 实现以及日常使用的框架中都有它的身影 单例模式 参考 主要特点 系统中只需要一个实例即可,不需要创建很多的实例。 主要注意问题 懒汉模式 饿汉模式 多线程下的加锁,创建单例的时候需要加锁,防止在没有创建实例时,防止两个线程同时调用获取单例方法,这时候可能会创建两个单例。 具体应用场景 spring spring IoC 容器默认是采...