03 2022 档案
摘要:读完题,立刻想到使用滑动窗口来进行统计 思路一(自己的思路 少判断了一种情况) 首先定义:左侧边界、右侧边界、循环的计算值、字符串的长度 判断 如果有一致的统计 右边界++ 计算值++ 反之 判断 如果k>0 使用一次K 判断 当K使用完了 还有特殊情形 1、k用完了后面还有符合条件 2、k没用完,
阅读全文
摘要:题目描述是输入一个数 判断二进制位数 有无连续的数 1.我们可以根据统计二级制中1的个数来进行变形做本题,先定义一个当前数 循环遍历 先判断最后一位数 进行(n&1) 获取最后位的二进制数,和当前cur进行异或判断==0 异常 相同为0 不同为1 然后如果为0 代表有连续的,我们就 return f
阅读全文
摘要:本题我最开始使用的是无脑的方法: 采用阶乘 算出和之后 转字符串遍历charAt 下表 取0 求和 太***了 但我忘记了 阶乘后的数溢出了 后来看题解发现 本题的实质是 求 5出现的次数, 如 10= 这里有个技巧是 输入n/5 获取到 5的倍数的个数 但这里还需计算5的个数 原味是 25 75
阅读全文
摘要:如第2行第2列的50这个数,其矩阵的坐标是(i=1,j=1),而映射到一维数组的时候,其对应的下标索引=4idx=4=i*n+j=1*3+1=4而如何通过idx=6反向得到矩阵的坐标呢?i=索引/n=4/3 =1 /3 3是数组二位的定长j=索引%n=4%3=1得到矩阵的坐标为(i,j) ==>(1
阅读全文
摘要:记录链表翻转算法总结,防止脑子今天会了 明年不会 常见的形式 1. 遍历next 2. 递归 递归的思想是 先找到尾节点,然后进行返回,当返回倒数第二个节点时,head.next.next=尾结点的下一个指向为当前节点,但现在是一个双向的状态,倒数第二个相互指向倒数第一个,这个时候需 将倒数第二个节
阅读全文
摘要:Synchroniezd 类中全部是 当修饰在非静态方法时, 多个线程用一个对象,锁的就是对象this,其他线程是不能进入此对象调用修饰了Synchroniezd的方法,多线程调用普通方法不收影响 并且多个线程用不同对象,不同对象的锁不同, 不会出现争抢锁 类中全部是 当修饰在静态方法时 锁就变成了
阅读全文
摘要:CompletableFuture.supplyAsync() .thenRun(Runnable run) 比如A执行完执行B,但是B是不需要A的返回值 .thenAccept(Consumer con) 比如A执行完执行B,B依赖A的返回值,但是任务B是无返回值 .thenApply(Funct
阅读全文