青云博客 记录、分享

质数的最大距离

一、题目 给你一个整数数组 nums,返回两个(不一定不同的)质数在 nums 中 下标 的 最大距离。 示例 1: 输入: nums = [4,2,9,5,3] 输出: 3 解释: nums[1]、nums[3] 和 nums[4] 是质数。因此答案是 |4 - 1| = 3。 示例 2: 输

詹学伟 Published on 2024-07-02

安全算法 - 摘要算法

摘要算法是一种将任意长度的数据转换为固定长度字节串的算法。它具有以下特点和应用。 首先,摘要算法能够生成一个唯一且固定长度的摘要值,用于验证数据的完整性和一致性。无论输入数据有多长,生成的摘要值始终是固定长度的,且即使数据只改变了一点点,生成的摘要值也会大不相同。 其次,摘要算法是单向的,即无法从摘

詹学伟 Published on 2024-04-24

安全算法 - 国密算法

国密算法是中国自主研发的密码算法体系,包括对称加密算法、非对称加密算法和哈希算法。其中,国密算法采用SM4作为对称加密算法,SM2作为非对称加密算法,以及SM3作为哈希算法。国密算法在信息安全领域具有重要意义和广泛应用,它是我国信息安全自主可控的重要支撑之一。 国密

詹学伟 Published on 2024-04-24

分布式算法 - ZAB算法

ZAB算法是用于实现分布式系统中的原子广播的核心算法,它被广泛应用于ZooKeeper分布式协调服务中。 ZAB算法由两个主要阶段组成:崩溃恢复阶段和消息广播阶段。 在崩溃恢复阶段,当一个ZooKeeper节点启动或者领导者节点崩溃重启时,整个集群进入此阶段。

詹学伟 Published on 2024-04-24

分布式算法 - Paxos算法

Paxos算法是一种用于分布式系统中实现一致性的算法。它通过引入提议者、接受者和学习者三个基本角色,在面对网络故障和节点故障的情况下,使得分布式系统能够就某个值达成一致。 Paxos算法的核心是通过多轮的消息交互来达成共识。提议者向接受者发送提议请求,接受者对提议进行投票,可以接受或拒绝。如果有足够

詹学伟 Published on 2024-04-24

安全算法 - 加密算法

加密算法是一种在信息安全领域中广泛应用的算法,能够将数据进行加密转换,以保证数据的保密性和安全性。 它具有保密性、对称加密和非对称加密、密钥管理、数据完整性和认证等重要特点和应用。 加密算法可以分为对称加密和非对称加密两种类型:

詹学伟 Published on 2024-04-24

分布式算法 - 雪花算法

雪花算法是一种用于生成全局唯一ID的分布式算法,用于解决分布式系统中生成唯一ID的需求。 雪花算法的核心思想是将生成的ID分为不同的部分,每个部分代表不同的含义。通常情况下,一个雪花 ID由3个部分组成: 时间戳:时间戳占用了ID的高位,精确到毫秒级别,可以根据时间戳来推测生成ID的时间。 机器节点

詹学伟 Published on 2024-04-24

分布式算法 - 一致性Hash算法

一致性哈希算法是一种分布式算法,用于解决数据分布和负载均衡问题。它通过将数据和节点映射到一个哈希环上,实现了数据在节点之间的均匀分布和最小化数据迁移。 一致性哈希算法的核心思想是将数据和节点都映射到哈希环上。每个节点在哈希环上有一个位置,根据哈希值进行排序。存储或查找数据时,通过哈希函数找到数据在环

詹学伟 Published on 2024-04-24

分布式算法 - Raft算法

Raft算法是一种用于分布式系统中实现一致性的算法,相对于Paxos算法更易理解和实现。它引入了领导者、跟随者和候选人的角色,通过心跳机制和选举过程来保持一致性。 在Raft算法中,节点可以是领导者、跟随者或候选人三种状态。领导者处理客户端请求并发送心跳信号,跟随者接受并响应心跳信号,而候选人则发起

詹学伟 Published on 2024-04-24

排序 - 快速排序

快速排序是一种高效的排序算法,基于分治思想。 它的核心思路是通过选择基准元素,将待排序数组划分为两个子数组,其中一个子数组的元素都小于基准元素,另一个子数组的元素都大于基准元素。然后对这两个子数组递归执行快速排序,最终得到整个数组有序。 具体实现步骤如下:选择一个基准元素作为比较目标,然后使用双指针

詹学伟 Published on 2024-04-24
Previous Next