- 344. 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。思路一:从中间开始向两边遍历,然后两边交换位置,最终获得字符串的反转//class Solution { public void reverseString(char[] s) { int len = s.length,size = len; for(in... 344. 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。思路一:从中间开始向两边遍历,然后两边交换位置,最终获得字符串的反转//class Solution { public void reverseString(char[] s) { int len = s.length,size = len; for(in...
- 6.2 图的遍历 6.2.1 图的遍历——DFS 遍历:把图里面每个顶点都访问一遍而且不能有重复的访问 深度优先搜索(DFS) 当访问完了一个节点所有的灯后,一定原路返回对应着堆栈的出栈入栈的一个行为 深度优先搜索的算法描述void DFS(Vertex V)//从迷宫的节点出来{visited[V] = true;//给每个节点一个变量,true相当于灯亮了,false则是熄灭状态for(... 6.2 图的遍历 6.2.1 图的遍历——DFS 遍历:把图里面每个顶点都访问一遍而且不能有重复的访问 深度优先搜索(DFS) 当访问完了一个节点所有的灯后,一定原路返回对应着堆栈的出栈入栈的一个行为 深度优先搜索的算法描述void DFS(Vertex V)//从迷宫的节点出来{visited[V] = true;//给每个节点一个变量,true相当于灯亮了,false则是熄灭状态for(...
- 数组删除有序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k... 数组删除有序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k...
- 文章和代码已经归档至【Github仓库:algorithms-notes】或者公众号【AIShareLab】回复 算法笔记 也可获取。首先,计算机中常用的数据结构是栈和队列。栈:先进后出,通常应用是递归,DFS。队列:先进先出,通常应用是 BFS 。过程如下所示:每次取出队头元素,并且把其拓展的元素放在队尾。上面过程可知,遍历的过程以及入队的过程都是按照BFS(1 2 3…10)的顺序进行的... 文章和代码已经归档至【Github仓库:algorithms-notes】或者公众号【AIShareLab】回复 算法笔记 也可获取。首先,计算机中常用的数据结构是栈和队列。栈:先进后出,通常应用是递归,DFS。队列:先进先出,通常应用是 BFS 。过程如下所示:每次取出队头元素,并且把其拓展的元素放在队尾。上面过程可知,遍历的过程以及入队的过程都是按照BFS(1 2 3…10)的顺序进行的...
- 文章和代码已经归档至【Github仓库:algorithms-notes】或者公众号【AIShareLab】回复 算法笔记 也可获取。应用:求区间最大值,求染色面积,长度,最大连续和等等。 思想操作一:单点修改 (O(logn)O(logn)O(logn))单点修改的基础思想就是仅修改信息需要变化的节点,类似一个递归 + 回溯的过程。操作二:区间查询 (O(logn)O(logn)O(log... 文章和代码已经归档至【Github仓库:algorithms-notes】或者公众号【AIShareLab】回复 算法笔记 也可获取。应用:求区间最大值,求染色面积,长度,最大连续和等等。 思想操作一:单点修改 (O(logn)O(logn)O(logn))单点修改的基础思想就是仅修改信息需要变化的节点,类似一个递归 + 回溯的过程。操作二:区间查询 (O(logn)O(logn)O(log...
- 第一章 DFS 一、排列数字 1. 题目描述给定一个整数 n,将数字 1∼n1∼n1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤71≤n≤71≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1 2. 思路分析算法流程... 第一章 DFS 一、排列数字 1. 题目描述给定一个整数 n,将数字 1∼n1∼n1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤71≤n≤71≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1 2. 思路分析算法流程...
- 第一章 KMP 一、KMP字符串 1. 题目描述给定一个字符串 SSS,以及一个模式串 PPP,所有字符串中只包含大小写英文字母以及阿拉伯数字。模式串 PPP 在字符串 SSS 中多次作为子串出现。求出模式串 PPP 在字符串 SSS 中所有出现的位置的起始下标。输入格式第一行输入整数 NNN,表示字符串 PPP 的长度。第二行输入字符串 PPP。第三行输入整数 MMM,表示字符串 SSS... 第一章 KMP 一、KMP字符串 1. 题目描述给定一个字符串 SSS,以及一个模式串 PPP,所有字符串中只包含大小写英文字母以及阿拉伯数字。模式串 PPP 在字符串 SSS 中多次作为子串出现。求出模式串 PPP 在字符串 SSS 中所有出现的位置的起始下标。输入格式第一行输入整数 NNN,表示字符串 PPP 的长度。第二行输入字符串 PPP。第三行输入整数 MMM,表示字符串 SSS...
- 第一章 单链表 一、单链表 1. 题目描述实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第 kkk 个插入的数后面的数;在第 kkk 个插入的数后插入一个数。现在要对该链表进行 MMM 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第kkk 个插入的数并不是指当前链表的第 kkk 个数。例如操作过程中一共插入了 nnn 个数,则按照插入的时间顺序,这 n... 第一章 单链表 一、单链表 1. 题目描述实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第 kkk 个插入的数后面的数;在第 kkk 个插入的数后插入一个数。现在要对该链表进行 MMM 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第kkk 个插入的数并不是指当前链表的第 kkk 个数。例如操作过程中一共插入了 nnn 个数,则按照插入的时间顺序,这 n...
- 文章和代码已经归档至【Github仓库:algorithms-notes】或者公众号【AIShareLab】回复 算法笔记 也可获取。 树状数组注意:树状数组的坐标一定要从1开始!树状数组的应用主要是:快速(在O(logn)的复杂度内):在某个位置上加上一个数(单点修改)求某一个的前缀和(区间查询)其他的变式都是由这两个基本功能转换而来,例如单点查询,区间修改等等。它与纯前缀和的区别在于可以... 文章和代码已经归档至【Github仓库:algorithms-notes】或者公众号【AIShareLab】回复 算法笔记 也可获取。 树状数组注意:树状数组的坐标一定要从1开始!树状数组的应用主要是:快速(在O(logn)的复杂度内):在某个位置上加上一个数(单点修改)求某一个的前缀和(区间查询)其他的变式都是由这两个基本功能转换而来,例如单点查询,区间修改等等。它与纯前缀和的区别在于可以...
- > 我们将字符串操作分为下面6种: > > 1. 基本操作方法 > 2. 字符串判空、比较 > 3. 字符串截取和拆分 > 4. 字符串查找和替换 > 5. 字符串和其他类型数据的转换 > 6. 字符串拼接和格式化 > 我们将字符串操作分为下面6种: > > 1. 基本操作方法 > 2. 字符串判空、比较 > 3. 字符串截取和拆分 > 4. 字符串查找和替换 > 5. 字符串和其他类型数据的转换 > 6. 字符串拼接和格式化
- 基数排序1.基本介绍基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sor)或bin sort,顾名思义,它是通过键值的各个位的值,将安排序的元素分配至某些“桶”中,达到排序的作用基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法基数排序(Radix Sort)是桶排序的扩展基数排序是1887年赫尔曼何乐礼... 基数排序1.基本介绍基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sor)或bin sort,顾名思义,它是通过键值的各个位的值,将安排序的元素分配至某些“桶”中,达到排序的作用基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法基数排序(Radix Sort)是桶排序的扩展基数排序是1887年赫尔曼何乐礼...
- Appcube关于ROMA接收MQS数组对象格式 Appcube关于ROMA接收MQS数组对象格式
- 本篇介绍了BFS和DFS的概念、性质、模板代码。 本篇介绍了BFS和DFS的概念、性质、模板代码。
- 快速排序1.基本介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列2.思路分析3.需求引入要求:对[-9,78,0,23,-567,70]进行从小到大的排序,要求使用快速排序法... 快速排序1.基本介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列2.思路分析3.需求引入要求:对[-9,78,0,23,-567,70]进行从小到大的排序,要求使用快速排序法...
- 数据结构包括:线性结构和非线性结构。所以博主会通过这两个角度来对线性结构和非线性结构进行梳理归纳。1.稀疏(sparse array)数组需求引入编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据->稀疏数组1.1介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1)记... 数据结构包括:线性结构和非线性结构。所以博主会通过这两个角度来对线性结构和非线性结构进行梳理归纳。1.稀疏(sparse array)数组需求引入编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据->稀疏数组1.1介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1)记...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签