朝花夕拾

A Development Engineer, a Life Liver, a Hope Holder

LeetCode_230_二叉搜索树中第K小的元素

## 题目 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/127227/1634479610925-c498ecd1-e138-4f68-a543-eacf9b28e3a8.png#clientId=u77b8b130-1f03-4&from=paste&height=486&id=uf48101d0&margin=%5Bobject%20...

水平顺序输出二叉树

### 题目 给定一个二叉树,逐行输出二叉树中的每个节点 ​ 如:二叉树[1,2,3,4,5,6] 输出:[[1],[2,3],[4,5,6]] ### 思路 #### 深度优先(DFS) 沿着二叉树的某一个路径遍历,一直到达路径最末端。然后继续遍历其他路径,直到所有路径遍历完成为止。 本题,我们可以使用二叉树的前序遍历实现。 ​ ```java public List> solution(Tre...

Leetcode-62-不同路径问题

![image.png](https://cdn.nlark.com/yuque/0/2021/png/127227/1633954927299-f368b7ab-27f7-4c34-8a3f-978634c654e1.png#clientId=u42e9ea98-1ed4-4&from=paste&height=628&id=u06deb707&margin=%5Bobject%20Object...

leetcode11_ 盛最多水的容器

### 题目 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。 #### 示例 ![image.png](https://cdn.nlark.com/yuque/0/2021...

货物装满最多箱子问题

### 问题 有一批货,体积大小随机,有一批箱子,体积固定为3,不考虑货物的体积,求给定货物最多能装满几个箱子。 > 说明:体积为6的货物可以用2个箱子装完,体积为7的箱子不能被箱子装下 _​_ ### 思路 当货物的体积为3的整数倍时,货物可以刚好装满箱子 当货物总体积除以3余1时,说明至少存在一个体积除3余1的货物,剔除其中最小的一个即可。 当货物体积除以3余2时,说明可能存在偶数个除3与1的...

令牌桶的JAVA实现

## 思想 定义一个令牌桶(Token_Bucket),以一定的速度向桶里投掷令牌 (now - lastThrowTime) * rate 业务方在处理请求前先去令牌桶获取令牌(acquire),如果获得令牌成功,则进行后续逻辑,否则就丢弃请求或者将请求放置到等待队列。 ​ ## 代码 ```java package cn.melonkid.commons.lang; import java.l...

leetcode53_最大和子序

### 问题 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/127227/1632100311402-0dc7d88b-537f-4efa-9641-15e0756d04dc.png#clientId=uaef0fc2c-b6dd-4&from=paste&height=601&id=u3ecba6d6&margin=%5Bobject%2...

Derby数据库使用问题记录

### 通过Druid管理derby时,在连接池初始化时抛出如下异常 ```java Syntax error: Encountered "" at line 1, column 8 ``` 原因是:Druid在初始化连接池时会对每个建立的连接进行check,配置如下: ```shell server: port: 8086 spring: datasource: name: test url: ...

算法-获取最长不重复子串

## 题目(中等难度) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/127227/1631091874227-6614c7ce-0159-4e2e-93c1-fda6b6a76935.png#clientId=u0d869f26-97aa-4&from=paste&height=558&id=uffc071bb&margin=%5Bobj...

MVCC

## MVCC(多版本并发控制) MVCC,就是通过对数据维护多个版本,从而解决并发读写冲突问题,是一种乐观锁思想。 ## undo log undoLog用来做版本控制和版本回滚的日志,当数据库数据发生变更时,会在undoLog保留变更前的数据。 对于业务表数据,除了常规的业务自定义列外,还有几个重要的隐藏列。 | DB_TSX_ID | 事务ID | | --- | --- | | DB_RO...