摘要: |题目|难度|要点| | | | | |区域和检索 - 数组不可变|●|构造前缀和数组,避免每次O(n)遍历统计区间和| |二维区域和检索 - 矩阵不可变|●|矩阵前缀和,并通过矩阵加减拼凑目标矩阵| 区域和检索 - 数组不可变 class NumArray { private int[] preS 阅读全文
posted @ 2023-03-11 21:43 kiper 阅读(11) 评论(0) 推荐(0) 编辑
摘要: |题目|难度|要点| | | | | |删除有序数组中的重复项|●|快指针与慢指针值不同,那么应该将值放在慢指针下一位| |移除元素|●|快指针对应值若不需移除,那么应该将值放在当前慢指针| |最长回文子串|●|以当前位置或者当前位置及相邻位置扩散寻找回文子串 删除有序数组中的重复项 class S 阅读全文
posted @ 2023-03-11 20:26 kiper 阅读(12) 评论(0) 推荐(0) 编辑
摘要: Java内存模型 并发场景下,可见性/原子性/有序性是并发编程Bug源头,而Java内存模型解决了可见性和有序性问题。 Java内存模型定义 可见性问题原因是缓存,有序性问题原因是编译优化。为了兼顾程序性能和功能正常,按需禁用缓存以及编译优化。而按需,则是按照开发者代码完成。 Java 内存模型是个 阅读全文
posted @ 2023-03-11 16:44 kiper 阅读(68) 评论(0) 推荐(1) 编辑
摘要: 5种类型操作 string 类型|命令|作用 -|-|- string|| |set key val|设置键值对 |set key val nx ex timeout|设置键值对,nx代表不存在则设置,ex表示过期时间设置 |del key|删除键值对 |get key|获取值 |mset key1 阅读全文
posted @ 2023-03-11 16:28 kiper 阅读(63) 评论(0) 推荐(0) 编辑
摘要: redis快的原因 内存操作 优秀的数据结构 redis数据类型和底层数据结构 底层数据结构 简单动态字符串 双向链表 压缩列表 哈希表 跳表 整数数组 数据类型和底层数据结构映射关系 键和值的组织结构 全局哈希表:保存了所有键值对的映射关系 一个哈希表,其实就是一个数组,数组每个元素称为一个哈希桶 阅读全文
posted @ 2023-03-11 16:23 kiper 阅读(189) 评论(0) 推荐(1) 编辑