摘要: 字典树类似于二叉树 每一个节点中都有一个指针数组 存的是字符串的一个字符 字典树可以进行查找,统计计数,排序,代码如下 忘记写查询了.... 阅读全文
posted @ 2018-06-07 20:09 TheQi 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 直接看代码吧懒得打字 阅读全文
posted @ 2018-06-07 19:16 TheQi 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 斐波那契数列的计算,递归和非递归 青蛙跳井,一次可以跳一层或者两层,也就是说n等于1时有一种情况,n等于2时有两种情况,其他形式类似于斐波那契数列 青蛙跳井,一次可以跳一层或者n层,先写递归,函数返回值会是aa(num-1)+aa(num-2)+...+aa(0),而aa(0)代表一下跳到了头,这是 阅读全文
posted @ 2018-06-07 19:16 TheQi 阅读(217) 评论(0) 推荐(0) 编辑
摘要: kmp查找首先要创建next数组 next数组中装的是最大前缀和后缀相等的数量 然后进行KMP查找,代码如下 阅读全文
posted @ 2018-06-07 17:45 TheQi 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 基数排序类似于桶排序 基数排序首先找到最大值,确定入桶次数,如果最大值是百位的就入桶出桶三次,以此类推 由于为了方便,我们创建10个桶,因为每一位最多就10种数(0-9) 首先先以个位数字入桶,然后将桶中的元素出桶重新装到原数组里 循环操作,最后原数组中得到的数据就是有序的 在我理解基数排序,首先排 阅读全文
posted @ 2018-06-05 20:52 TheQi 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 二分查找代码 阅读全文
posted @ 2018-06-05 20:17 TheQi 阅读(786) 评论(0) 推荐(0) 编辑
摘要: 通过二叉树的前序遍历和中序遍历创建树 通过二叉树的后序遍历和中序遍历创建树 只有创建树的代码换了 阅读全文
posted @ 2018-06-02 23:23 TheQi 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 我得思路是从左上角开始,即arr[0][0],将这个整数和它相比,如果比它大,那么将这个整数和arr[1][1]比 如果还大那么继 阅读全文
posted @ 2018-06-02 19:12 TheQi 阅读(2491) 评论(0) 推荐(0) 编辑
摘要: 将字符串中的空格替换成“%20”,例如“I love you” 替换成“I%20love%20you” 从前向后插入的话可能会令原数组丢失数据, 我能想到的是完全申请一个新的数组,把所有的都插入到新数组中 再拷贝回原数组,这种方法浪费了空间 实际采用的方法是先得到新字符串的下标,从后向前插入,这样就 阅读全文
posted @ 2018-06-02 16:59 TheQi 阅读(831) 评论(0) 推荐(0) 编辑
摘要: 桶排序的思想是创建n个桶 桶排序要求元素的位数相同 我们取到元素中最大值的最高位和最小值的最高位 如果他们相同,可以往次高位选取,再相同再向下选取 如果不同,得到最大值与最小值的那一位,创建a-b+1个桶 比如158 247 354 666 541 234 980 147 就要创建9个桶,因为最小值 阅读全文
posted @ 2018-06-02 16:27 TheQi 阅读(327) 评论(0) 推荐(0) 编辑