LeetCode刷题笔记_49. 字母异位词分组

题目出自LeetCode49. 字母异位词分组其他题解或源码可以访问: tongji4m3描述给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。思路用一个Map存储索引和索引对应的组。.
分类: 其他 发布时间: 09-21 12:16 阅读次数: 0

LeetCode刷题笔记_53. 最大子序和

题目出自LeetCode53. 最大子序和其他题解或源码可以访问: tongji4m3描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。思路从左往右遍历,如果大于0,则保留,否则.
分类: 其他 发布时间: 09-21 12:16 阅读次数: 0

LeetCode刷题笔记_55. 跳跃游戏

题目出自LeetCode55. 跳跃游戏其他题解或源码可以访问: tongji4m3描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3.
分类: 其他 发布时间: 09-21 12:16 阅读次数: 0

深入理解Java虚拟机_第八章_虚拟机字节码执行引擎

基于<<深入理解Java虚拟机>>做的笔记文章目录概述运行时栈帧结构局部变量表操作数栈动态连接方法返回地址附加信息方法调用解析调用字节码指令分派静态分派动态分派invokevirtual解析过程虚拟机动态分派的实现动态类型语言支持动态类型语言优缺点java.lang.invoke包MethodHandle与Reflection的区别基于栈的字节码解释执行引擎解释执行基于栈的指令集和基于寄存器的指令集优缺点优缺点概述物理机的执行引擎是直接建立在处理器,缓存,指令集的操作系统层.
分类: 其他 发布时间: 09-21 12:16 阅读次数: 0

Redis设计与实现_6.整数集合

文章目录整数集合的实现升级升级的好处提升灵活性节约内存降级降级整数集合的实现当一个集合只包含整数值元素,并且数量不多时,redis就会采用整数集合作为集合键的底层实现typedef strcut intset{ uint32_t encoding; //编码方式 uint32_t length; //元素数量 int8_t contents[]; //保存元素的数组}可以保存类型为 int16_t,int32_t,int64_t的非重复整数值,且元素在contents数组中有序排列升级
分类: 其他 发布时间: 09-21 12:16 阅读次数: 0

php计算时间段的最大连续天数

如需求:最高连续打卡多少天?或者一串数字,最大连续数字有多少个。$nums=['2018-10-09','2018-10-10','2018-10-11','2018-10-13','2018-10-15','2018-10-16','2018-10-17','2018-10-18'];$max=0;$hash=[];foreach($numsas$val){$hash[$val]=1;}fore
分类: 服务端 发布时间: 09-21 12:15 阅读次数: 0

六度空间系统开发模式分析

  六度空间APP软件系统开发案例,六度空间软件系统开发、六度空间软件系统开发需求,六度空间系统模式开发,开发六度空间多少钱。
分类: 企业开发 发布时间: 09-21 12:15 阅读次数: 0

Redis设计与实现_7.压缩列表

文章目录压缩列表的构成压缩列表节点的构成previous_entry_lengthencodingcontent连锁更新压缩列表的构成压缩列表是列表键和哈希键的底层实现之一,当一个列表键只包含少量列表项,并且每个列表项都是小整数或较短字符串,则用压缩列表作为底层实现压缩列表是为了节约内存而开发的,是由一系列特殊编码的连续内存块组成的顺序型数据结构zlbytes:记录整个压缩列表所占用的内存字节数,在内存重分配或zlend位置时使用zltail:记录压缩列表表尾节点距压缩列表的起始地址有多少字节,
分类: 其他 发布时间: 09-21 12:14 阅读次数: 0

LeetCode刷题笔记_56. 合并区间

题目出自LeetCode56. 合并区间其他题解或源码可以访问: tongji4m3描述给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: intervals = [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: intervals = [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4].
分类: 其他 发布时间: 09-21 12:14 阅读次数: 0

LeetCode刷题笔记_62. 不同路径

题目出自LeetCode62. 不同路径其他题解或源码可以访问: tongji4m3描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例 1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向右 -> 向下2. 向右 -&gt.
分类: 其他 发布时间: 09-21 12:14 阅读次数: 0

LeetCode刷题笔记_64. 最小路径和

题目出自LeetCode64. 最小路径和其他题解或源码可以访问: tongji4m3描述给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[  [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。思路普通的动态规划,但是还是要注意初始化条件代码public in.
分类: 其他 发布时间: 09-21 12:13 阅读次数: 0

LeetCode刷题笔记_70. 爬楼梯

题目出自LeetCode70. 爬楼梯其他题解或源码可以访问: tongji4m3描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶.
分类: 其他 发布时间: 09-21 12:13 阅读次数: 0

第10章_前端编译与优化

文章目录概述Javac编译器编译过程解析与填充符号表词法,语法分析填充符号表注解处理器语义分析与字节码生成标注检查数据及控制流分析解语法糖字节码生成Java语法糖的味道泛型类型擦除问题对原始类型数据不支持代码啰嗦带来了模棱两可的模糊状况自动装箱,拆箱,循环遍历条件编译概述编译期可能指以下几种:前端编译器:把java文件转为class文件的过程,如Javac即时编译器(JIT编译器):运行期把字节码转变为本地机器码的过程,如hotspot虚拟机的C1,C2编译器静态的提前编译器:直接把程序编译成与
分类: 其他 发布时间: 09-21 12:13 阅读次数: 0

LeetCode刷题笔记_72. 编辑距离

题目出自LeetCode72. 编辑距离其他题解或源码可以访问: tongji4m3描述给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')ro.
分类: 其他 发布时间: 09-21 12:13 阅读次数: 0

LeetCode刷题笔记_75. 颜色分类

题目出自LeetCode75. 颜色分类其他题解或源码可以访问: tongji4m3思路采用快排的partition思想,在数组首尾定义指针,lo标识0的结束(保证lo-1处一定为0),hi标识2的开始(保证hi+1处一定为2).再用指针i来遍历数组一个比较好的测试用例2 0 1 0 1 2代码public void sortColors(int[] nums){ int lo=0,hi=nums.length-1; int i=0; while(i<=.
分类: 其他 发布时间: 09-21 12:12 阅读次数: 0

LeetCode刷题笔记_76. 最小覆盖子串

题目出自LeetCode76. 最小覆盖子串其他题解或源码可以访问: tongji4m3描述给你一个字符串 S、一个字符串 T 。请你设计一种算法,可以在 O(n) 的时间复杂度内,从字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入:S = "ADOBECODEBANC", T = "ABC"输出:"BANC"提示:如果 S 中不存这样的子串,则返回空字符串 ""。如果 S 中存在这样的子串,我们保证它是唯一的答案。思路滑动窗口的方法:先扩大hi,使之包含T,然.
分类: 其他 发布时间: 09-21 12:12 阅读次数: 0

Redis设计与实现笔记_8.对象

文章目录简介对象的类型和编码类型编码和底层实现字符串对象embstr编码的转换列表对象编码转换哈希对象编码转换集合对象编码转换有序集合对象用skiplist编码实现编码转换类型检查和命令多态多态命令的实现内存回收对象共享步骤内置整数为什么不共享包含字符串的对象对象的空转时间对象的空转时间简介基于之前的数据结构创建一个对象系统。包括字符串对象,列表对象,哈希对象,集合对象,有序集合对象五种可以在执行命令之前,根据对象类型判断一个对象能否执行给定的命令可以针对不同的使用场景,为对象设置多种不
分类: 其他 发布时间: 09-21 12:12 阅读次数: 0

LeetCode刷题笔记_78. 子集

题目出自LeetCode78. 子集其他题解或源码可以访问: tongji4m3描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],  [1],  [2],  [1,2,3],  [1,3],  [2,3],  [1,2],  []]思路画出解空间树,相当于把解空间.
分类: 其他 发布时间: 09-21 12:12 阅读次数: 0

LeetCode刷题笔记_79. 单词搜索

题目出自LeetCode79. 单词搜索其他题解或源码可以访问: tongji4m3描述给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "ABCCED", 返回 tru.
分类: 其他 发布时间: 09-21 12:11 阅读次数: 0

第11章_后端编译与优化

文章目录概述即时编译器解释器与编译器分层编译编译对象与触发条件热点探测HotSpot虚拟机实现方法调用计数器回边计数器编译过程客户端编译器服务端编译器实战:查看及分析即使编译结果提前编译器提前编译的优劣得失两条分支即时编译器的天然优势性能分析制导优化激进预测性优化链接时优化编译器优化技术方法内联目的Java实现方法内联问题Java实现方法内联方法逃逸分析原理栈上分配标量替换同步消除公共子表达式消除数组边界检查消除实战:深入理解Graal编译器实战:深入理解Graal编译器概述编译器在何时,何种状态下把C
分类: 其他 发布时间: 09-21 12:11 阅读次数: 0