- 后知后觉,前几天做的自以为挺满意的排行榜,不正是zset的经典实现么,现在的思路全都是查库的操作,由于业务原因,有些是异步操作,难免存在已经计分,但分数还没有入库,这时去查库,导致与实际的分数不一致的情况,通常排行榜本身的操作不是很频繁,但计分的操作很频繁,但也不排除有些业务场景有些"分数怪"刷分的情况,比如王者荣耀实时排列等。 在实现之前先要了解下zset的原理,说原理之前不得不... 后知后觉,前几天做的自以为挺满意的排行榜,不正是zset的经典实现么,现在的思路全都是查库的操作,由于业务原因,有些是异步操作,难免存在已经计分,但分数还没有入库,这时去查库,导致与实际的分数不一致的情况,通常排行榜本身的操作不是很频繁,但计分的操作很频繁,但也不排除有些业务场景有些"分数怪"刷分的情况,比如王者荣耀实时排列等。 在实现之前先要了解下zset的原理,说原理之前不得不...
- LeetCode 78首先数组内的元素是不会重复的,但返回子集不能有重复关于题解,有一个非常巧妙的解法,追加子集,将思路进行画图讲解1.空集合是所有集合的子集2.每次将i追加到已有子数组的集合中3.当指针移动到最后一个元素即遍历完毕代码部分public static List<List<Integer>> subsets(int[] nums) { List<List<Integer>... LeetCode 78首先数组内的元素是不会重复的,但返回子集不能有重复关于题解,有一个非常巧妙的解法,追加子集,将思路进行画图讲解1.空集合是所有集合的子集2.每次将i追加到已有子数组的集合中3.当指针移动到最后一个元素即遍历完毕代码部分public static List<List<Integer>> subsets(int[] nums) { List<List<Integer>...
- LeetCode 94首先我们需要了解什么是二叉树的中序遍历:按照访问左子树——根节点——右子树的方式遍历这棵树,即左中右。但题目中其实是一个不太规则的非常常见的二叉树,如果补齐其中的节点就会舒服很多。这样是不是舒服多了?①在原图的1即为根节点,只不过此节点没有左节点,根据左中右的原则,第一个应该是1判断当前节点是否为null,为null直接返回②然后右节点为2,再判断2是否有左节点③2的左... LeetCode 94首先我们需要了解什么是二叉树的中序遍历:按照访问左子树——根节点——右子树的方式遍历这棵树,即左中右。但题目中其实是一个不太规则的非常常见的二叉树,如果补齐其中的节点就会舒服很多。这样是不是舒服多了?①在原图的1即为根节点,只不过此节点没有左节点,根据左中右的原则,第一个应该是1判断当前节点是否为null,为null直接返回②然后右节点为2,再判断2是否有左节点③2的左...
- 什么是 Redis?Redis是一个开源的key-value存储系统,支持多种数据结构,包括字符串、列表、集合和有序集合等Redis 与其他key - value 缓存产品有以下三个特点?Redis与其他key-value缓存产品相比,具有以下三个特点: a. 高性能:Redis采用单线程模型,能够处理高并发请求,同时也支持异步I/O操作。 b. 可扩展性:Redis支持集群模式,可以水平扩... 什么是 Redis?Redis是一个开源的key-value存储系统,支持多种数据结构,包括字符串、列表、集合和有序集合等Redis 与其他key - value 缓存产品有以下三个特点?Redis与其他key-value缓存产品相比,具有以下三个特点: a. 高性能:Redis采用单线程模型,能够处理高并发请求,同时也支持异步I/O操作。 b. 可扩展性:Redis支持集群模式,可以水平扩...
- 有些资料导入为AI工具集:https://zkkis.github.io/pip install pyparsingfrom django.conf.urls import url由于url已经废弃,改为from django.urls import re_path as urlpip install -i https://pypi.tuna.tsinghua.edu.cn/simple -... 有些资料导入为AI工具集:https://zkkis.github.io/pip install pyparsingfrom django.conf.urls import url由于url已经废弃,改为from django.urls import re_path as urlpip install -i https://pypi.tuna.tsinghua.edu.cn/simple -...
- Dijkstra算法:使用二进制堆而不是优先级队列来优化运行时的复杂性。使用邻接列表而不是邻接矩阵,以避免访问不必要的顶点。Bellman-Ford算法:使用邻接列表来优化运行时的复杂性。如果在迭代过程中没有发生任何更改,请提前退出循环,以避免迭代次数超过必要次数。Floyd-Warshall算法:如果顶点数量较少,请使用邻接矩阵而不是边列表。如果可用的处理器数量大于顶点数量,请使用并行处理... Dijkstra算法:使用二进制堆而不是优先级队列来优化运行时的复杂性。使用邻接列表而不是邻接矩阵,以避免访问不必要的顶点。Bellman-Ford算法:使用邻接列表来优化运行时的复杂性。如果在迭代过程中没有发生任何更改,请提前退出循环,以避免迭代次数超过必要次数。Floyd-Warshall算法:如果顶点数量较少,请使用邻接矩阵而不是边列表。如果可用的处理器数量大于顶点数量,请使用并行处理...
- Python中常用的数据结构有以下几种:列表(List)列表是Python中最常用的数据结构之一,它是一个有序的集合,可以存储任意类型的数据。列表使用方括号([])来表示,每个元素之间用逗号分隔。示例代码:# 创建一个列表my_list = [1, 2, 3, 'hello', 'world']# 访问列表中的元素print(my_list[0]) # 输出:1print(my_list[... Python中常用的数据结构有以下几种:列表(List)列表是Python中最常用的数据结构之一,它是一个有序的集合,可以存储任意类型的数据。列表使用方括号([])来表示,每个元素之间用逗号分隔。示例代码:# 创建一个列表my_list = [1, 2, 3, 'hello', 'world']# 访问列表中的元素print(my_list[0]) # 输出:1print(my_list[...
- 在 Go 语言中,复合数据类型是由基本数据类型组合而成的数据类型。它们可以存储和处理更复杂的数据结构,如数组、切片、映射和结构体。本文将详细介绍 Go 语言中常用的复合数据类型及其特点。 数组(Array)数组是一种固定长度、具有相同类型元素的序列。在 Go 语言中,数组的长度是固定的,定义时需要指定长度,且长度是数组类型的一部分。例如,[5]int 表示长度为 5 的整数数组。func m... 在 Go 语言中,复合数据类型是由基本数据类型组合而成的数据类型。它们可以存储和处理更复杂的数据结构,如数组、切片、映射和结构体。本文将详细介绍 Go 语言中常用的复合数据类型及其特点。 数组(Array)数组是一种固定长度、具有相同类型元素的序列。在 Go 语言中,数组的长度是固定的,定义时需要指定长度,且长度是数组类型的一部分。例如,[5]int 表示长度为 5 的整数数组。func m...
- 在 Go 语言中,数据类型是编程过程中非常重要的概念。了解和正确使用不同的数据类型可以帮助我们更好地处理数据,并编写出高效、可靠的代码。本文将详细介绍 Go 语言的基础数据类型,包括整数类型、浮点数类型、布尔类型、字符串类型等。 整数类型Go 语言提供了多个整数类型,每种类型在内存中占用的空间大小不同,适用于不同范围的整数值。以下是 Go 语言的整数类型:int:根据操作系统的位数选择,32... 在 Go 语言中,数据类型是编程过程中非常重要的概念。了解和正确使用不同的数据类型可以帮助我们更好地处理数据,并编写出高效、可靠的代码。本文将详细介绍 Go 语言的基础数据类型,包括整数类型、浮点数类型、布尔类型、字符串类型等。 整数类型Go 语言提供了多个整数类型,每种类型在内存中占用的空间大小不同,适用于不同范围的整数值。以下是 Go 语言的整数类型:int:根据操作系统的位数选择,32...
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting! 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
- 在 JavaScript 中,集合是一个集合,一组数据,可以由具有不同行为的各种类型的数据组成。数据的集合可以具有各种数据类型,或者该集合本身可以是特定的数据结构。如果您还没有阅读过这篇文章,我建议您阅读我关于JavaScript 中的数据类型和数据结构的文章。Javascript 中可以有 3 种类型的集合:索引集合键控集合DOM集合索引集合索引集合包含按索引排序的数据,也可以使用该索引进... 在 JavaScript 中,集合是一个集合,一组数据,可以由具有不同行为的各种类型的数据组成。数据的集合可以具有各种数据类型,或者该集合本身可以是特定的数据结构。如果您还没有阅读过这篇文章,我建议您阅读我关于JavaScript 中的数据类型和数据结构的文章。Javascript 中可以有 3 种类型的集合:索引集合键控集合DOM集合索引集合索引集合包含按索引排序的数据,也可以使用该索引进...
- 前言在算法和数据结构中,深度优先搜索(DFS)和广度优先搜索(BFS)是两个常用的遍历算法。它们在解决各种问题时都发挥着重要作用。但在实际开发中,深度优先和广度优先哪个更常用?本文将探讨这个问题,并提供一些案例和观点供读者参考。 深度优先搜索深度优先搜索是一种递归的搜索算法,其主要思想是尽可能深地搜索一个分支,直到无法继续下去,然后回溯到前一个节点,再继续搜索其他分支。这种搜索方式常用于以... 前言在算法和数据结构中,深度优先搜索(DFS)和广度优先搜索(BFS)是两个常用的遍历算法。它们在解决各种问题时都发挥着重要作用。但在实际开发中,深度优先和广度优先哪个更常用?本文将探讨这个问题,并提供一些案例和观点供读者参考。 深度优先搜索深度优先搜索是一种递归的搜索算法,其主要思想是尽可能深地搜索一个分支,直到无法继续下去,然后回溯到前一个节点,再继续搜索其他分支。这种搜索方式常用于以...
- 像图论算法这种高级算法虽然不算难,但是阅读量普遍比较低,我本来是不想写 Prim 算法的,但考虑到算法知识结构的完整性,我还是想把 Prim 算法的坑填上,这样所有经典的图论算法就基本完善了。Prim 算法和 Kruskal 算法都是经典的最小生成树算法,阅读本文之前,希望你读过前文 Kruskal 最小生成树算法,了解最小生成树的基本定义以及 Kruskal 算法的基本原理,这样就能很容易... 像图论算法这种高级算法虽然不算难,但是阅读量普遍比较低,我本来是不想写 Prim 算法的,但考虑到算法知识结构的完整性,我还是想把 Prim 算法的坑填上,这样所有经典的图论算法就基本完善了。Prim 算法和 Kruskal 算法都是经典的最小生成树算法,阅读本文之前,希望你读过前文 Kruskal 最小生成树算法,了解最小生成树的基本定义以及 Kruskal 算法的基本原理,这样就能很容易...
- 图论中知名度比较高的算法应该就是 Dijkstra 最短路径算法,环检测和拓扑排序,二分图判定算法 以及今天要讲的最小生成树(Minimum Spanning Tree)算法了。最小生成树算法主要有 Prim 算法(普里姆算法)和 Kruskal 算法(克鲁斯卡尔算法)两种,这两种算法虽然都运用了贪心思想,但从实现上来说差异还是蛮大的,本文先来讲 Kruskal 算法,Prim 算法另起一篇... 图论中知名度比较高的算法应该就是 Dijkstra 最短路径算法,环检测和拓扑排序,二分图判定算法 以及今天要讲的最小生成树(Minimum Spanning Tree)算法了。最小生成树算法主要有 Prim 算法(普里姆算法)和 Kruskal 算法(克鲁斯卡尔算法)两种,这两种算法虽然都运用了贪心思想,但从实现上来说差异还是蛮大的,本文先来讲 Kruskal 算法,Prim 算法另起一篇...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签