Leetcode 322. 零钱兑换

2020-03-09
阅读 2 分钟
1.6k
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。

Leetcode 14. 最长公共前缀

2020-03-05
阅读 2 分钟
1.3k
示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀

leetcode第198题:打家劫舍

2020-02-19
阅读 1 分钟
1.5k
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。

用栈实现leetcode第394题:字符串解码(带图解)

2020-02-13
阅读 3 分钟
2.3k
编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。

leetcode-338:比特位计数

2020-02-11
阅读 1 分钟
1.6k
$$ f(i>>1)= \begin{cases} f(i) & \text{i的最后一位是0}\\ f(i)-1 & \text{i的最后一位是1} \end{cases} $$

Mysql数据库隔离级别

2019-08-30
阅读 2 分钟
1.3k
一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。

如何优雅的使用切面和注解实现权限验证

2019-07-30
阅读 3 分钟
3.7k
权限验证在我们系统中是一个与业务逻辑无关但是又与业务息息相关的一个功能。设想我们开发了一款为中小型企业定制的会员系统。这款系统可以为企业A、企业B等多种企业提供服务。数据库中的表结构往往是这样的(以下只是一个demo,实际情况中字段一定会更多、更复杂):

数据库中的悲观锁和乐观锁

2019-07-30
阅读 2 分钟
2.5k
悲观锁正如其名称,比较悲观。总会认为:每当修改数据时,会有其他线程也会同时修改该数据。所以针对这种情况悲观锁的做法是:读取数据之后就加锁(eg: select...for update),这样别的线程读取该数据的时候就需要等待当前线程释放锁,获得到锁的线程才能获得该数据的读写权限。从而保证了并发修改数据错误的问题。但是由...

使用Lombok @Builder后代码详解

2019-04-23
阅读 3 分钟
6.3k
前提 我们有一个学生类: {代码...} 为什么@Builder没有使用到默认值? 使用@Builder之后会生成一个静态内部类StudentBuilder,编译之后我们可以看到一共存在2个class文件。 将Student.class与StudentBuilder.class反编译之后的diamante如下 {代码...} 在StudentBuilder代码的build()方法中可以看出来,生成Student对象...

Lombok使用注意事项

2019-04-23
阅读 2 分钟
5.9k
我们有个学生类代码如下:其中学生类有一个stuStatus字段表示学生就读状态,默认值1,表示默认是在读状态。当通过builder()构建学生对象之后,如果不给stuStatus赋值,该字段的值并不是默认值1,而是int的默认值0;

模拟HTTP请求调用controller

2019-03-14
阅读 2 分钟
2.7k
MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller调用,这样使得测试速度更快,不依赖网络环境。而且提供了一套验证的工具。