0%

最小覆盖字串

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""

Read more »

零钱兑换

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。

计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。

你可以认为每种硬币的数量是无限的。

Read more »

REST

Resource Representational State Transfer

  • 资源(Resource) :URL即资源,指向具体操作的对象
  • 表现形式(Representational):请求数据类型(json, xml,file等)
  • 状态转移(State Transfer) :通过具体的method行为(GET,POST,PUT,PATCH,DELETE)操作资源并改变资源状态
Read more »

滑动窗口最大值

给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。

返回 滑动窗口中的最大值 。

Read more »

CountDownLatch

内部采用AQS实现,初始化时设置State。

countDown()方法调用时调用tryRelease()将state减一并通过CAS更新state;

await()主线程调用时,会判断state是否为0,是0的话直接退出,否则加入AQS队列等待唤醒。

Read more »

使用

1
2
private static final ThreadLocal<T> res1 = new NamedThreadLocal<>("resource1");
private static final ThreadLocal<T> res2 = new NamedThreadLocal<>("resource2");
Read more »

创建方式

ThreadPoolExecutor创建,了解线程创建参数避免资源耗尽。

Read more »