Static

Thinking will not overcome fear but action will.

数据结构

1. 定义 1. 图 图由节点和边构成,图的节点成为顶点,顶点与顶点是多对多的关系,相比于树,树也可以认为是一种特殊的图,节点与节点之间是一对多的关系。 2. 有向图和无向图 边有方向,就是有向图;相反,无方向就是无向图。 无向图: 有向图: 3. 弧 就是边,称为弧,顶点与顶点之间的连线,箭头那头为弧头,另一头是弧尾,记<vi,vj...

哈夫曼编码

数据结构

1. 定义 赫夫曼树(Huffman Tree),又叫作最优二叉树,它的特点是带权路径最短。 路径:从树中一个结点到另一个结点的分支所构成的路线。 路径长度:路径上的分支数目。 树的路径长度:从根到每个结点的路径长度之和。 带权路径长度:结点具有权值,从该结点到根之间的路径乘以结点的权值。 树...

手写LinkedList

数据结构

手写LinkedList 源码地址:传送门 单测代码:传送门 1. What? 1. Definition Java中LinkedList是双向链表,链表中的每个节点都包含了对前一个和后一个节点的引用。继承AbstractSequentialList,实现了List,Deque,Cloneable,java.io.Serializable这些接口。 2. Diag...

手写ArrayList

数据结构

手写ArrayList 源码地址:传送门 单测代码:传送门 1. What? 1. Definition Java中ArrayList是一种动态数组,对数组的封装。它的容量能动态增长。它继承于AbstractList,实现了List,RandomAccess,Cloneable,java.io.Serializable这些接口。 2. Diagram ...

shell tool

shell工具

1. git 一键提交代码 三步合一 git add -all git commit -m 'xxx' git push git_push.sh #!/bin/bash # git add -all ; git commit -am "优化" ; git push 合成一个命令 add_flag=`git status | grep 'Untracked'` if [[ ${a...

leetcode 392

判断子序列

题目链接:https://leetcode-cn.com/problems/is-subsequence/ 题目描述 分析 1. 遍历 代码实现 public enum Q392 { instance; public boolean isSubsequence(String s, String t) { if(s=...

leetcode 167

两数之和 II - 输入有序数组

题目链接:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/ 题目描述 分析 1. 遍历 2. 双指针 代码实现 public enum Q167 { instance; public int[] twoSum(int[] numbers, int...

leetcode 35

搜索插入位置

题目链接:https://leetcode-cn.com/problems/search-insert-position/ 题目描述 分析 1. 遍历 2. 二分法 代码实现 public enum Q35 { instance; public int searchInsert(int[] nums, int target) {...

MySQL PROCEDURE

存储过程

1. What? MySQL 5.0 版本开始支持存储过程 存储过程:一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。 类似于Java中的方法。 2. Why...

leetcode interview 1713

恢复空格

题目链接:https://leetcode-cn.com/problems/re-space-lcci/ 题目描述 分析 1. 背包题 @see 官网 -> 传送门 代码实现 public enum QInterview1713 { instance; public int respace(String[] di...