- 哈希函数哈希查找表一般会存在“碰撞”的问题,就是说不同的 key 被哈希到了同一个 bucket。一般有两种应对方法:链表法和开放地址法。链表法将一个 bucket 实现成一个链表,落在同一个 bucket 中的 key 都会插入这个链表。开放地址法则是碰撞发生后,通过一定的规律,在数组的后面挑选“空位”,用来放置新的 key。装载因子 := 元素数量 / 桶数量与开放地址法一样,拉链法... 哈希函数哈希查找表一般会存在“碰撞”的问题,就是说不同的 key 被哈希到了同一个 bucket。一般有两种应对方法:链表法和开放地址法。链表法将一个 bucket 实现成一个链表,落在同一个 bucket 中的 key 都会插入这个链表。开放地址法则是碰撞发生后,通过一定的规律,在数组的后面挑选“空位”,用来放置新的 key。装载因子 := 元素数量 / 桶数量与开放地址法一样,拉链法...
- 数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。 数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。
- 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物... 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物...
- 2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小。要求不能打乱其他字符的相对位置)。输入:s = “cbacdcbc”。输出:“acdb”。来自左程云。答案2023-11-29:所有的代码用灵捷3.5编写,感觉有点抽风了,生成的代码需要修改才能运行。 大体过程如下:1.初始化一个长度为 26 的整数数组 ... 2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小。要求不能打乱其他字符的相对位置)。输入:s = “cbacdcbc”。输出:“acdb”。来自左程云。答案2023-11-29:所有的代码用灵捷3.5编写,感觉有点抽风了,生成的代码需要修改才能运行。 大体过程如下:1.初始化一个长度为 26 的整数数组 ...
- 一、内联函数 普通的函数在调用的时候会开辟函数栈帧,会产生一定量的消耗,在C语言中可以用宏函数来解决这个问题,但是宏存在以下缺陷:复杂、容易出错、可读性差、不能调试。为此,C++中引入了内联函数这种方法。1.1 定义 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,所以内联函数可以提高程序的运行效率。🪆普通函数:int Add... 一、内联函数 普通的函数在调用的时候会开辟函数栈帧,会产生一定量的消耗,在C语言中可以用宏函数来解决这个问题,但是宏存在以下缺陷:复杂、容易出错、可读性差、不能调试。为此,C++中引入了内联函数这种方法。1.1 定义 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,所以内联函数可以提高程序的运行效率。🪆普通函数:int Add...
- 📖题目描述题目出处:移除元素🔖示例📖题解 对于本题我将按照由易到难的顺序为大家分享三种解题思路,并逐一分析它们的优劣,以及注意事项。🔖思路一:暴力求解 我想暴力求解应该是第一次接触到此题的小伙伴们最先想出来的办法吧。这道题目暴力求解就是去遍历数组,当遇到数组元素等于val的时候,将后面的所有元素往前挪动一位,把val覆盖掉以实现移除的效果。具体过程如下动图所演示:代码实现:int r... 📖题目描述题目出处:移除元素🔖示例📖题解 对于本题我将按照由易到难的顺序为大家分享三种解题思路,并逐一分析它们的优劣,以及注意事项。🔖思路一:暴力求解 我想暴力求解应该是第一次接触到此题的小伙伴们最先想出来的办法吧。这道题目暴力求解就是去遍历数组,当遇到数组元素等于val的时候,将后面的所有元素往前挪动一位,把val覆盖掉以实现移除的效果。具体过程如下动图所演示:代码实现:int r...
- 📖线性表 在了解线性表之前先让我们来了解一下什么是线性表。线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表有:顺序表、链表i、栈、队列、字符串等。 之所以叫线性表是因为其在逻辑结构上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。📖顺序表... 📖线性表 在了解线性表之前先让我们来了解一下什么是线性表。线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表有:顺序表、链表i、栈、队列、字符串等。 之所以叫线性表是因为其在逻辑结构上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。📖顺序表...
- 📖什么是数据结构? 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素集合。📖什么是算法? 算法(Algorithm)就是定义良好的计算过程,它取一个或一组良好的值作为输入,并产生出一个或者一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。📖算法效率 通常我们会用复杂度去衡量一个算法的好坏。算法... 📖什么是数据结构? 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素集合。📖什么是算法? 算法(Algorithm)就是定义良好的计算过程,它取一个或一组良好的值作为输入,并产生出一个或者一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。📖算法效率 通常我们会用复杂度去衡量一个算法的好坏。算法...
- 矩阵(稀疏矩阵)的压缩存储为了节省存储空间并且加快处理速度,需要对这类矩阵进行压缩存储,压缩存储的原则是:不重复存储相同元素;不存储零值元素。一、相关概念㈠特殊矩阵 矩阵中存在大多数值相同的元,或非0元,且在矩阵中的分布有一定规律。⒈对称矩阵矩阵中的元素满足 aij=aji 1≤i,j≤n⒉三角矩阵 上(下)三角矩阵指矩阵的下(... 矩阵(稀疏矩阵)的压缩存储为了节省存储空间并且加快处理速度,需要对这类矩阵进行压缩存储,压缩存储的原则是:不重复存储相同元素;不存储零值元素。一、相关概念㈠特殊矩阵 矩阵中存在大多数值相同的元,或非0元,且在矩阵中的分布有一定规律。⒈对称矩阵矩阵中的元素满足 aij=aji 1≤i,j≤n⒉三角矩阵 上(下)三角矩阵指矩阵的下(...
- 前言: 今天给大家分享一道面试中常见的题目——合并K个升序链表,我会用暴力和分治两钟方法去求解这道题目,通过动图展示问题求解的全过程。这里提醒大家,画图是我们求解复杂问题的有效手段,有时可以起到事半功倍的效果,各位小伙伴在做题的过程中如果遇到麻烦,不妨动手画画图哟。🐻题目描述: 合并K个升序的链表并将结果作为一个升序的链表返回其头节点。例如:输入:[{1,2},{1,4,5},{6},{2... 前言: 今天给大家分享一道面试中常见的题目——合并K个升序链表,我会用暴力和分治两钟方法去求解这道题目,通过动图展示问题求解的全过程。这里提醒大家,画图是我们求解复杂问题的有效手段,有时可以起到事半功倍的效果,各位小伙伴在做题的过程中如果遇到麻烦,不妨动手画画图哟。🐻题目描述: 合并K个升序的链表并将结果作为一个升序的链表返回其头节点。例如:输入:[{1,2},{1,4,5},{6},{2...
- 🍬题目描述:实现一个函数,可以左旋字符串中的k个字符。例如:ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB🍭思路一: 要左旋 k 个字符,我们首先应该考虑左旋 11 个字符怎么做。左旋一个字符分为以下的三步:取出字符串中最左边的一个字符将字符串中剩下的字符按从左到右的顺序依次左移一位把第一步取出来的字符放到第二步结束得到的字符串的末尾 知道左旋 11 个字符的做法,那左... 🍬题目描述:实现一个函数,可以左旋字符串中的k个字符。例如:ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB🍭思路一: 要左旋 k 个字符,我们首先应该考虑左旋 11 个字符怎么做。左旋一个字符分为以下的三步:取出字符串中最左边的一个字符将字符串中剩下的字符按从左到右的顺序依次左移一位把第一步取出来的字符放到第二步结束得到的字符串的末尾 知道左旋 11 个字符的做法,那左...
- 一:杨氏矩阵🐻何为杨氏矩阵? 杨氏矩阵,是对组合表示理论和舒伯特演算很有用的工具。它提供了一种方便的方式来描述对称和一般线性群的群表示,并研究它们的性质。杨氏矩阵是剑桥大学大学数学家阿尔弗雷德·扬在1900年提出。然后在1903年,它被用于格奥尔格·弗罗贝纽斯的对称群研究中。它的理论得益于许多数学家的贡献得到进一步发展,包括珀西·麦克马洪,W.V.D.霍奇,G.deB.罗宾逊,吉安·卡咯罗... 一:杨氏矩阵🐻何为杨氏矩阵? 杨氏矩阵,是对组合表示理论和舒伯特演算很有用的工具。它提供了一种方便的方式来描述对称和一般线性群的群表示,并研究它们的性质。杨氏矩阵是剑桥大学大学数学家阿尔弗雷德·扬在1900年提出。然后在1903年,它被用于格奥尔格·弗罗贝纽斯的对称群研究中。它的理论得益于许多数学家的贡献得到进一步发展,包括珀西·麦克马洪,W.V.D.霍奇,G.deB.罗宾逊,吉安·卡咯罗...
- 前言: 小伙伴们大家好,今天龙宝要给大家分享的知识是动态内存管理。相信大家在使用数组的时候都遇到过开辟的空间不够用或者开辟的空间用不完的窘境,这是因为数组大小一旦确定好,就会向内存申请一块固定大小的连续空间,后面再想增加或者减少空间是非常麻烦的。而今天要介绍的动态内存管理就会很好的帮助大家解决这一窘境,我们可以根据自己的需求向内存申请空,那接下来就让我们一起来看看动态内存管理都有哪些有趣的知... 前言: 小伙伴们大家好,今天龙宝要给大家分享的知识是动态内存管理。相信大家在使用数组的时候都遇到过开辟的空间不够用或者开辟的空间用不完的窘境,这是因为数组大小一旦确定好,就会向内存申请一块固定大小的连续空间,后面再想增加或者减少空间是非常麻烦的。而今天要介绍的动态内存管理就会很好的帮助大家解决这一窘境,我们可以根据自己的需求向内存申请空,那接下来就让我们一起来看看动态内存管理都有哪些有趣的知...
- 前言: 今天分享的内容是自定义类型之一的结构体。C语言本身为我们提供了一些类型,比如 int、char、float等等,我们可以利用这些类型来定义一些比较简单的事物,那如果要定义一本书呢?C语言自身提供的这些类型,好像都无法精准的帮我们定义出一本书,一本书包含:书名、作者、出版社等主要信息,只有知道了这些信息,我们才能准确的描述一本书。为此,C语言为我们提供了结构体这种自定义类型,我们可以根... 前言: 今天分享的内容是自定义类型之一的结构体。C语言本身为我们提供了一些类型,比如 int、char、float等等,我们可以利用这些类型来定义一些比较简单的事物,那如果要定义一本书呢?C语言自身提供的这些类型,好像都无法精准的帮我们定义出一本书,一本书包含:书名、作者、出版社等主要信息,只有知道了这些信息,我们才能准确的描述一本书。为此,C语言为我们提供了结构体这种自定义类型,我们可以根...
- 一:一维数组的创建和初始化1.1:数组的定义数组是一组相同类型元素的集合1.2:数组的创建type_t arr_name [const_n];//type_t 是指数组的元素类型//arr_name是数组名//const_n 是一个常量表达式,用来指定数组的大小注意:数组创建,在C99标准之前, [ ] 中要给一个常量才可以,不能使用变量。在C99标准支持了变长数组的概念,数组的大小... 一:一维数组的创建和初始化1.1:数组的定义数组是一组相同类型元素的集合1.2:数组的创建type_t arr_name [const_n];//type_t 是指数组的元素类型//arr_name是数组名//const_n 是一个常量表达式,用来指定数组的大小注意:数组创建,在C99标准之前, [ ] 中要给一个常量才可以,不能使用变量。在C99标准支持了变长数组的概念,数组的大小...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签