- @[toc] 搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,... @[toc] 搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,...
- @[toc] JSON 方法,toJSON假设我们有一个复杂的对象,我们希望将其转换为字符串,以通过网络发送,或者只是为了在日志中输出它。当然,这样的字符串应该包含所有重要的属性。我们可以像这样实现转换:let user = { name: "John", age: 30, toString() { return `{name: "${this.name}", age: ${th... @[toc] JSON 方法,toJSON假设我们有一个复杂的对象,我们希望将其转换为字符串,以通过网络发送,或者只是为了在日志中输出它。当然,这样的字符串应该包含所有重要的属性。我们可以像这样实现转换:let user = { name: "John", age: 30, toString() { return `{name: "${this.name}", age: ${th...
- @[toc] 日期和时间让我们来学习一个新的内建对象:日期(Date)。该对象存储日期和时间,并提供了日期/时间的管理方法。我们可以使用它来存储创建/修改时间,测量时间,或者仅用来打印当前时间。 创建调用 new Date() 来创建一个新的 Date 对象。在调用时可以带有一些参数,如下所示:new Date()不带参数 —— 创建一个表示当前日期和时间的 Date 对象:let now ... @[toc] 日期和时间让我们来学习一个新的内建对象:日期(Date)。该对象存储日期和时间,并提供了日期/时间的管理方法。我们可以使用它来存储创建/修改时间,测量时间,或者仅用来打印当前时间。 创建调用 new Date() 来创建一个新的 Date 对象。在调用时可以带有一些参数,如下所示:new Date()不带参数 —— 创建一个表示当前日期和时间的 Date 对象:let now ...
- @[toc] Object.keys,values,entries对各个数据结构的学习至此告一段落,下面让我们讨论一下如何迭代它们。在前面的章节中,我们认识了 map.keys(),map.values() 和 map.entries() 方法。这些方法是通用的,有一个共同的约定来将它们用于各种数据结构。如果我们创建一个我们自己的数据结构,我们也应该实现这些方法。它们支持:MapSetArr... @[toc] Object.keys,values,entries对各个数据结构的学习至此告一段落,下面让我们讨论一下如何迭代它们。在前面的章节中,我们认识了 map.keys(),map.values() 和 map.entries() 方法。这些方法是通用的,有一个共同的约定来将它们用于各种数据结构。如果我们创建一个我们自己的数据结构,我们也应该实现这些方法。它们支持:MapSetArr...
- @[toc] Object.keys,values,entries对各个数据结构的学习至此告一段落,下面让我们讨论一下如何迭代它们。在前面的章节中,我们认识了 map.keys(),map.values() 和 map.entries() 方法。这些方法是通用的,有一个共同的约定来将它们用于各种数据结构。如果我们创建一个我们自己的数据结构,我们也应该实现这些方法。它们支持:MapSetArr... @[toc] Object.keys,values,entries对各个数据结构的学习至此告一段落,下面让我们讨论一下如何迭代它们。在前面的章节中,我们认识了 map.keys(),map.values() 和 map.entries() 方法。这些方法是通用的,有一个共同的约定来将它们用于各种数据结构。如果我们创建一个我们自己的数据结构,我们也应该实现这些方法。它们支持:MapSetArr...
- @[toc] Map and Set(映射和集合)学到现在,我们已经了解了以下复杂的数据结构:对象,存储带有键的数据的集合。数组,存储有序集合。但这还不足以应对现实情况。这就是为什么存在 Map 和 Set。 Map[Map](Map(将键映射到值的对象)_百度百科 (baidu.com)) 是一个带键的数据项的集合,就像一个 Object 一样。 但是它们最大的差别是 Map 允许任何类型... @[toc] Map and Set(映射和集合)学到现在,我们已经了解了以下复杂的数据结构:对象,存储带有键的数据的集合。数组,存储有序集合。但这还不足以应对现实情况。这就是为什么存在 Map 和 Set。 Map[Map](Map(将键映射到值的对象)_百度百科 (baidu.com)) 是一个带键的数据项的集合,就像一个 Object 一样。 但是它们最大的差别是 Map 允许任何类型...
- @[toc]✅任务 将 border-left-width 转换成 borderLeftWidth重要程度:five:编写函数 camelize(str) 将诸如 “my-short-string” 之类的由短划线分隔的单词变成骆驼式的 “myShortString”。即:删除所有短横线,并将短横线后的每一个单词的首字母变为大写。示例:camelize("background-color")... @[toc]✅任务 将 border-left-width 转换成 borderLeftWidth重要程度:five:编写函数 camelize(str) 将诸如 “my-short-string” 之类的由短划线分隔的单词变成骆驼式的 “myShortString”。即:删除所有短横线,并将短横线后的每一个单词的首字母变为大写。示例:camelize("background-color")...
- @[toc] 数组方法数组提供的方法有很多。为了方便起见,在本章中,我们将按组讲解。 添加/移除数组元素我们已经学了从数组的首端或尾端添加和删除元素的方法:arr.push(...items) —— 从尾端添加元素,arr.pop() —— 从尾端提取元素,arr.shift() —— 从首端提取元素,arr.unshift(...items) —— 从首端添加元素。这里还有其他几种方法。 ... @[toc] 数组方法数组提供的方法有很多。为了方便起见,在本章中,我们将按组讲解。 添加/移除数组元素我们已经学了从数组的首端或尾端添加和删除元素的方法:arr.push(...items) —— 从尾端添加元素,arr.pop() —— 从尾端提取元素,arr.shift() —— 从首端提取元素,arr.unshift(...items) —— 从首端添加元素。这里还有其他几种方法。 ...
- @[toc] 数组对象允许存储键值集合,这很好。但很多时候我们发现还需要 有序集合,里面的元素都是按顺序排列的。例如,我们可能需要存储一些列表,比如用户、商品以及 HTML 元素等。这里使用对象就不是很方便了,因为对象不能提供能够管理元素顺序的方法。我们不能在已有的元素“之间”插入一个新的属性。这种场景下对象就不太适用了。这时一个特殊的数据结构数组(Array)就派上用场了,它能存储有序的集... @[toc] 数组对象允许存储键值集合,这很好。但很多时候我们发现还需要 有序集合,里面的元素都是按顺序排列的。例如,我们可能需要存储一些列表,比如用户、商品以及 HTML 元素等。这里使用对象就不是很方便了,因为对象不能提供能够管理元素顺序的方法。我们不能在已有的元素“之间”插入一个新的属性。这种场景下对象就不太适用了。这时一个特殊的数据结构数组(Array)就派上用场了,它能存储有序的集...
- @[toc] 字符串在 JavaScript 中,文本数据被以字符串形式存储,单个字符没有单独的类型。字符串的内部格式始终是 UTF-16,它不依赖于页面编码。 引号(Quotes)让我们回忆一下引号的种类。字符串可以包含在单引号、双引号或反引号中:let single = 'single-quoted';let double = "double-quoted";let backticks ... @[toc] 字符串在 JavaScript 中,文本数据被以字符串形式存储,单个字符没有单独的类型。字符串的内部格式始终是 UTF-16,它不依赖于页面编码。 引号(Quotes)让我们回忆一下引号的种类。字符串可以包含在单引号、双引号或反引号中:let single = 'single-quoted';let double = "double-quoted";let backticks ...
- @[toc] 排序与搜索排序算法(sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的一个指标是稳定性,稳定性即:如果只按照第一个数字排序的话,第一个数字相同而第二个数字不同的,第二个数字按照原有排序的就是稳定排序,不按照原有排序的就是不稳定排序。 算法复杂度排序方法时间复杂度(平均)时间复杂度(最坏)时间复杂度(最好)空间复杂度稳定性冒泡排序O(... @[toc] 排序与搜索排序算法(sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的一个指标是稳定性,稳定性即:如果只按照第一个数字排序的话,第一个数字相同而第二个数字不同的,第二个数字按照原有排序的就是稳定排序,不按照原有排序的就是不稳定排序。 算法复杂度排序方法时间复杂度(平均)时间复杂度(最坏)时间复杂度(最好)空间复杂度稳定性冒泡排序O(...
- @[toc] 回溯算法回溯算法(back tracking)是一种类似尝试算法,按选优条件向前搜索,主要是在搜索尝试过程中寻找问题的解,以达到目标,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。换句话说,找到一条路往前走,能走就继续往前,不能走就算了,掉头换条路。相对于动态规划,这部分的内容相对于简单些。回溯的处理思想,和枚举搜索有点类似,通过枚举找到所有满足期望的值。为了有规律地... @[toc] 回溯算法回溯算法(back tracking)是一种类似尝试算法,按选优条件向前搜索,主要是在搜索尝试过程中寻找问题的解,以达到目标,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。换句话说,找到一条路往前走,能走就继续往前,不能走就算了,掉头换条路。相对于动态规划,这部分的内容相对于简单些。回溯的处理思想,和枚举搜索有点类似,通过枚举找到所有满足期望的值。为了有规律地...
- Trie树一般指字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。 它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 Trie树一般指字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。 它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
- manacher算法,我们习惯叫他 “马拉车”算法。 Manacher算法的应用范围比较狭窄,但是它的思想和拓展kmp算法有很多共通之处,所以在这里介绍一下。 Manacher算法是查找一个字符串的最长回文子串的线性算法。 在介绍算法之前,首先介绍一下什么是回文串,所谓回文串,简单来说就是正着读和反着读都是一样的字符串,比如abba,noon等等,一个字符串的最长回文子串即为这个字符串的子串 manacher算法,我们习惯叫他 “马拉车”算法。 Manacher算法的应用范围比较狭窄,但是它的思想和拓展kmp算法有很多共通之处,所以在这里介绍一下。 Manacher算法是查找一个字符串的最长回文子串的线性算法。 在介绍算法之前,首先介绍一下什么是回文串,所谓回文串,简单来说就是正着读和反着读都是一样的字符串,比如abba,noon等等,一个字符串的最长回文子串即为这个字符串的子串
- @TOC 前言Hello!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍 ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研。学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语! 唯有努力💪 知其然 知其所以然! 本文仅记录自己感兴趣的内... @TOC 前言Hello!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍 ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研。学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语! 唯有努力💪 知其然 知其所以然! 本文仅记录自己感兴趣的内...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签