KMP(Knuth-Morris-Pratt )算法-模式串lps(Longest Prefix Suffix)最长相同前后缀长度数组算法证明

摘要: 被KMP算法折磨了几天,终于搞明白lps数组,或者叫next数组计算过程中非常关键点的原理,这里着重在证明为什么这样计算。 1 public static int[] buildLPS(String pat) { 2 int n = pat.length(); 3 int[] lps = new i 阅读全文
posted @ 2025-11-15 02:21 Lv Jianwei 阅读(1) 评论(0) 推荐(0)

two legged and three legged OAuth flow

摘要: Two-legged OAuth processing involves three parties: OAuth client, authorization server, and resource server. The OAuth client can be either the resour 阅读全文
posted @ 2020-04-21 23:45 Lv Jianwei 阅读(442) 评论(0) 推荐(0)

spring boot SpringApplication.run 执行过程

摘要: SpringApplication static run(Object source, String... args) ->new SpringApplication(sources).run(args);->SpringApplication.initialize(Object[] sources 阅读全文
posted @ 2019-07-22 15:00 Lv Jianwei 阅读(409) 评论(0) 推荐(0)

算法 计算四则运算字符串结果

摘要: RingBuffer面试后面一场,输入一个字符串,计算结果 字符串内容限制为“ 0-9,+,-,*,/”这些符号 例如输入"1+2*3/4-5",返回-2.5。 开始到时候直接想到了可以用树来维护计算关系,后来被问可以用其他数据结构么,然后想到应该用栈来实现,写的时候用了一个,写到后面突然意识到应该 阅读全文
posted @ 2019-07-10 23:49 Lv Jianwei 阅读(592) 评论(0) 推荐(0)

算法 RingBuffer

摘要: https://en.wikipedia.org/wiki/Circular_buffer 某大外企面试问到到一个,当时有点紧张,然后用链表实现,最后写的也有些问题,要求的单元测试也没有完成。 两种实现,使用数组或者链表,相对来说不需要随机访问,使用链表会更好,实现上链表也更容易些。 接口定义,实际 阅读全文
posted @ 2019-07-10 00:00 Lv Jianwei 阅读(631) 评论(0) 推荐(0)

java BigDecimal 四舍五入

摘要: public static void main(String[] args) { BigDecimal strBD=new BigDecimal("1.2345"); BigDecimal doubleBD=new BigDecimal(1.2345); System.out.printf("strBD:%s,\nROUND_HALF_UP:%s\... 阅读全文
posted @ 2019-07-09 15:24 Lv Jianwei 阅读(1628) 评论(0) 推荐(0)

算法 常用函数和近似

摘要: 算法分析中常用的近似函数 对增长数量级的常见假设总结 增长的 数量级 阅读全文
posted @ 2019-06-14 16:52 Lv Jianwei 阅读(913) 评论(0) 推荐(0)

java 多线程执行

摘要: 多线程需要实现的接口 Callable<V> 1.有返回值 2.可以抛出受检查异常 DocumentationTool.DocumentationTask, JavaCompiler.CompilationTask Runnable 1.无返回值 2.不可以抛出受检查异常 RunnableFutur 阅读全文
posted @ 2019-05-22 18:49 Lv Jianwei 阅读(222) 评论(0) 推荐(0)

Java 三个线程依次输出ABC

摘要: 源于:https://lax.v2ex.com/t/547045#reply43 编写一个程序,开启 3 个线程 A,B,C,这三个线程的输出分别为 A、B、C,每个线程将自己的 输出在屏幕上打印 10 遍,要求输出的结果必须按顺序显示。如:ABCABCABC.... 阅读全文
posted @ 2019-03-22 15:57 Lv Jianwei 阅读(1918) 评论(0) 推荐(0)

Java interrupt 中断

摘要: 为什么要中断? 根据需要停止某些持续的方法,这些方法可以被中断,所以又被称为可中断方法,包括: Object的wait(), wait(long), wait(long, int), Thraed的sleep(long), sleep(long, int), join(), join(long), 阅读全文
posted @ 2019-03-22 12:31 Lv Jianwei 阅读(347) 评论(0) 推荐(0)