本地启动步骤
1、项目导入 IDEA,以及后续一些列 IDEA 内的配置,具体见这个文档:
文档:https://pulsar.apache.org/contribute/setup-ide/
2、打包二进制包,并本地启动单机版服务
需要先将本地 jdk 设为 17,并把 maven 的 jdk 设为 17
1、项目导入 IDEA,以及后续一些列 IDEA 内的配置,具体见这个文档:
文档:https://pulsar.apache.org/contribute/setup-ide/
2、打包二进制包,并本地启动单机版服务
需要先将本地 jdk 设为 17,并把 maven 的 jdk 设为 17
未专门声明的情况,都是 1.8 的代码。
确定桶的算法:
1 | i = (n - 1) & hash |
本质是为了将 hash 这个 int 通过取模,获得一个数组上的一个位置,这个获取需要均匀,等价于 i = hash % n。有点类似数据库分库分表的路由算法。
在 n 为 2 的 n 次方时,i = (n - 1) & hash 等价于 i = hash % n。并且性能更好,位运算比求余计算性能更好。
1 | Codec2 codec2 = ExtensionLoader.getExtensionLoader(Codec2.class).getExtension(codecName) |
SPI 注解,作为扩展接口 interface 都会标注 SPI 注解,value 标注的是默认使用的 provider:
1 |
|
问题 :https://leetcode-cn.com/problems/bitwise-ors-of-subarrays/
解:https://gitee.com/footmanff/leetcode/blob/master/src/main/java/com/footmanff/leetcode/dp/P898_1.java
问题 :https://leetcode-cn.com/problems/single-number/
解:https://gitee.com/footmanff/leetcode/blob/master/src/main/java/com/footmanff/leetcode/P136.java
问题 :https://leetcode-cn.com/problems/longest-valid-parentheses/
解:https://gitee.com/footmanff/leetcode/blob/master/src/main/java/com/footmanff/leetcode/dp/P32.java
问题 :https://leetcode-cn.com/problems/first-missing-positive/
解:https://gitee.com/footmanff/leetcode/blob/master/src/main/java/com/footmanff/leetcode/P41_2.java
要求:
间复杂度应为O(n),并且只能使用常数级别的额外空间
问题 :https://leetcode-cn.com/problems/partition-equal-subset-sum/
解:https://gitee.com/footmanff/leetcode/blob/master/src/main/java/com/footmanff/leetcode/P416.java
动态规划
基本思想:如果前 n 个数,组成的和是 s1、s2,此时如果再加上下一个数 next,组成的和是 0 + next、s1 + next、s2 + next。