🌓

leetcode209长度最小的子数组使用二分查找求解

题解:题目标签是二分查找,但给出数组是无序的,使用二分查找的方法需新建一个sum[numberSize] 数组,sum[i] 存储 nums[0]- nums[i] 的和因为题目给出的是正整数,这样可以确认sum 数组是单调递增的。我们只需要找到 sum[k]-sum[j]>=target ,那么k-j 便是和大于等于target且连续的子...

阅读全文

从失败中累积经验,让自己前进的步伐更快,这便是KMP!'

AcWing831.KMP字符串 题目链接 题目如下: KMP是真勾八难,折腾了一晚上才勉强整明白,特别是推导next数组的步骤,看了好几篇博客代码都不一样,在纸上跟着推了一遍才看明白。 (偷一波社区dalao的推导,链接在这)最后AC的代码和注释 123456789101112131415161718192021222324252627282930313...

阅读全文

二维前缀和与差分笔记

前缀和什么是前缀和?给出数组 a[] (a[1],a[2],….a[n])设数组 b[] 为数组 a[] 的前缀和数组,即 b[i] = a[1] + a[2] + a[3] + …. + a[i] 前缀和的下标一定要从1开始,避免无必要的对下标进行转换 前缀和的作用主要是用于快速筛选出一段区间的和。如对于 a[] 数组想要得出 [l,r] 区间内...

阅读全文

二分查找的思想和解题步骤笔记,模板

二分虽然思想简单,做了两天的题下来发现实际应用到题目中并没有想象中那么轻松,在此记录下笔记和归纳总结一下几道题目的ac过程以备以后复习时使用。二分的思想很简单,以下给出定义。 给定一个升序排列的数组 nums ,在其中寻找某个值target,设两个指针 l r 分别指向> 数组左右边界,每次取区间的中点 l+r>>1 为 mid ,当 n...

阅读全文

数据库报错 144

早上突然连不进玩家跨服同步背包的数据库了,查询了一下文档大致原因是意外断电导致的表损坏,尝试了一下navict自带的修复未成功进入mysql根目录下使用 myisamchk -r ../playerdatasql.MYI 执行后报如下错误原因是数据记录数太长,内存不足,将原先指令增加参数–max-record-length=16673...

阅读全文

指定时间区间内计算不同间隔周期的小实现

接到一个小需求,需要在指定时间段里每隔x分钟跑一段逻辑(如9:0:0-3:0:0 每隔90分钟执行一次)原先打算用Quartz实现,翻阅了一下文档,似乎无法做到59分钟之外的增量。而且为了这么小一个需求硬塞一个库进去感觉有点不妥折腾了一下午,在此把代码记录一下,有空加进自己的类库整理成工具类 123456789101112131415161718192021...

阅读全文

linux下多用户管理及权限的描述

最近将hexo博客迁移到了腾讯云的linux(centos)服务器上,在这里记录linux下多用户管理组的一些知识点,方便用的时候查阅 组的概念 Linux作为多用户操作系统,使用组的概念来更方便的管理权限。在linux中每个用户都必须属于一个组,不能独立于组之外。我们使用以下指令来管理组 groupadd [group] 创建组groupdel [gro...

阅读全文

Java的反射机制及使用笔记

反射是指java在运行过程中,能够获取并调用任意类的所有属性和方法;如同是类加载的过程,将类的各个组成部分封装成其他对象(Field,Method,Constructor),这便完成了一次反射(系统自带的画图做这种图挺顺手的 为什么使用反射?在反射面前,没有任何权限修饰的概念,运用反射可以在程序运行过程中操作任意对象;同时可以解耦,提高程序的可扩展性,代码的...

阅读全文