一、KMP算法 对于两个字符串s1、s2。请设计一个高效算法,找到s1在s2中第一次出现的起始位置。若s2未在s1中出现,则返回-1。 二、替换空格 请实现一个函数,将一个字...
一、KMP算法 对于两个字符串s1、s2。请设计一个高效算法,找到s1在s2中第一次出现的起始位置。若s2未在s1中出现,则返回-1。 二、替换空格 请实现一个函数,将一个字...
什么是哈希表? 哈希表是根据关键字而直接进行访问的数据结构,通过把一个关键字映射到一个下标(索引),以加快查找的速度。这个映射函数叫做哈希函数。 如何解决哈希函数的冲突? 链...
一、冒泡排序 二、选择排序 三、插入排序 四、希尔排序 插入排序的比对次数,在最好的情况下是O(n),这发生在列表已是有序的情况下。实际上,列表越接近有序,插入排序的比对次数...
问题一 求组成目标金额的最小硬币数 解法一:递归 解法二:动态规划 问题二 求组成目标金额的不同硬币数量 一、组合 硬币数组为外层循环。对于每一种硬币,遍历一遍dp数组。这样...
顺序表链表存储空间连续地分配空间。预先分配,可能闲置或溢出动态地分配空间,不会闲置或溢出存储密度1小于1,每个节点的指针域需额外占用存储空间存取元素随机存取,按位置访问元素的...
什么是栈? 一种有次序的数据项集合,在栈中,数据项的加入和移除都仅发生在同一端,称为栈顶;另一端叫栈底。 后进先出:距离栈底越近的数据项,留在栈中的时间就越长;而最新加入栈的...
一、生成格雷码 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成n位的格雷码。给定...
一、翻转数列 小Q定义了一种数列称为翻转数列:给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4...每隔m个符号翻转一次, 最初符号为-。例...
一、方法定义 二、为任意类型添加方法
一、结构体定义 二、结构体的初始化 三、指针类型的结构体 四、结构体构造实例
一、指针的概念 二、指针传值示例 三、内存分配
一、匿名函数 函数还可以作为返回值,但是在Go语言中不能再像之前那样定义函数了,只能定义匿名函数。匿名函数就是没有函数名的函数。闭包 = 函数 + 外层变量的引用 一、调用匿...
作业:
一、函数的基本定义 二、变量作用域 三、函数作为变量 四、延迟执行
一、map的初始化 二、判断某个键是否存在 三、map的遍历与删除 四、map的有序遍历 五、元素类型为map的切片 六、元素类型为map的切片 作业
一、if 二、for 三、switch
一、数据类型 二、字符串 三、字符
一、切片 二、切片的赋值拷贝 三、切片的遍历 四、切片的扩容、copy与删除 作业:使用内置sort包队数组进行排序