主页

每天一题LeetCode之91

题 解 想 测 码 析 思 题 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' -> 1 'B' -> 2 ... 'Z' -> 26 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为: "AAJF" ,将消息分组为 (1 1 10 6) "KJF" ,将消息分组为 (11 10 6) 注意,消息不能分组为  (1 11 06) ,因为 "06" 不能映射为 "F" ,这是由于 "6" 和 "06" 在映射中并不等价。 给你一个只含数字的 非空 字符串 s ,请计算并返回 解码 方法的 总...

阅读更多

每天一题LeetCode之87

题 解 想 测 码 析 思 题 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止 如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y 。 随机 决定是要「交换两个子字符串」还是要「保持这两个子字符串的顺序不变」。即,在执行这一步骤之后,s 可能是 s = x + y 或者 s = y + x 。 在 x 和 y 这两个子字符串上继续从步骤 1 开始递归执行此算法。 给你两个 长度相等 的字符串 s1 和 s2,判断 s...

阅读更多

每天一题LeetCode之179

题 解 想 测 码 析 思 题 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 示例 1: 输入:nums = [10,2] 输出:"210" 示例 2: 输入:nums = [3,30,34,5,9] 输出:"9534330" 示例 3: 输入:nums = [1] 输出:"1" 示例 4: 输入:nums = [10] 输出:"10"   提示: 1 <= nums.length <= 100 0 <= nums[i] <= 10^9 来源:力扣(...

阅读更多

每天一题LeetCode之501

题 解 想 测 码 析 思 题 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当前结点的值 左子树和右子树都是二叉搜索树 例如: 给定 BST [1,null,2,2], 1 \ 2 / 2 返回[2]. 提示:如果众数超过1个,不需考虑输出顺序 进阶:你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内) 来源:力扣(LeetCode) 链接:https://leetcode-cn....

阅读更多

每天一题LeetCode之263

题 解 想 测 码 析 思 题 给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。 丑数 就是只包含质因数 2、3 和/或 5 的正整数。 示例 1: 输入:n = 6 输出:true 解释:6 = 2 × 3 示例 2: 输入:n = 8 输出:true 解释:8 = 2 × 2 × 2 示例 3: 输入:n = 14 输出:false 解释:14 不是丑数,因为它包含了另外一个质因数 7 。 示例 4: 输入:n = 1 输出:true 解释:1 通常被视为丑数。   提示: -2^31 <= n <= 2^31 - ...

阅读更多

Redis设计与实现(三)

第十五章 复制 2.8版本之前 2.8版本之后 心跳检测 第十六章 Sentinel(哨兵) 连接关系 第十七章 集群 总结 第十五章 复制 介绍了redis在2.8版本之前,以及在2.8版本之后的主从复制策略与实现。提一句,最新版本(2020年5月份)是5.0,看来本书已经足够旧了。 2.8版本之前 主从复制策略有两种,一种叫同步sync,一种叫命令传播command propagate。 同步 命令由从节点发起,主节点在接收到该命令之后,会生成一份RDB文件,并将RDB文件同步给从节点,然后将生成RDB文件过程中的写命令缓冲区同步给从节点。从节点先通过RDB命令来...

阅读更多

Redis设计与实现(二)

第九章 数据库 数据结构与CURD key过期处理 数据库通知 第十~十一章 RBD持久化 与 AOF持久化 AOF重写 特别的AOF 第十二~第十四章 事件/客户端/服务器 事件 客户端 服务器 总结 第九章 数据库 本章主要介绍了Redis的数据库存储结构,还介绍了包括增删改查的实现流程、key过期处理、数据库通知等。 数据结构与CURD redis支持多个数据库同时提供服务,默认会创建16个数据库。数据库内的数据采用的是KV方式存储,比较像一个hashmap,因此在每个数据库内,key是唯一的,以...

阅读更多