![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法入门
文章平均质量分 74
Tobefrank
这个作者很懒,什么都没留下…
展开
-
sunday算法实现
这个算法比其他的kmp bm 好理解的太多,而且速度还很快。 sunday思路是: 1,Sunday算法是Daniel M.Sunday于1990年提出的一种比BM算法搜索速度更快的算法。 2,Sunday算法其实思想跟BM算法很相似,只不过Sunday算法是从前往后匹配,在匹配失败时关注的是文本串中参加匹配的最末位字符的下一位字符。如果该字符没有在匹配串中出现则直接跳过,即移动步长原创 2015-01-03 13:05:04 · 590 阅读 · 0 评论 -
Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the sam原创 2017-10-10 13:11:43 · 326 阅读 · 0 评论 -
txt 分割程序
网上有很多 分割程序 ,但是他们都没有满足实际的用户要求 ,大家当然是希望看文章小说 一章节一章节的看 并非是那些传统意义上的按照文件的大小切割 所以 我特写本文研究下 这个简单的算法该怎样设计 说白了最核心的是 流的操作 流的读取 流的写入 大家要知道的是 一些基础知识: FileReader FileWirter 以上两者是针对 字节存储的原创 2015-04-17 14:33:29 · 674 阅读 · 0 评论 -
华为 oj 表示数字(代码有参考)理解算法设计
虽然是初级题目,但是 也不是太容易就做出来的 还是用c++ 好些 因为c++ string 是可以存储到缓冲区的, 字符串长度可以变化 参考了某神的代码 和我的思路一样 ,就拿来主义了,挺经典的一道面试题 ,变形会有不少,代码写的不错 i= k+2 //这一句是传神之笔,,防止回溯 !! 思路 :字符串是动态增长的,先是判断非数字连续长度 ,一旦不满足条件 ,就原创 2015-04-20 14:56:01 · 838 阅读 · 0 评论 -
华为Oj 找出字符串第一个出现一次的字符
#include #include char firstSingle(char *str) { int hash[255]={0}; for(int i = 0 ;str[i];i++) { hash[str[i]]++; } for(int i = 0; str[i];i++) { if(hash[str[i]]==1) { return str[i]原创 2015-04-19 16:42:53 · 363 阅读 · 0 评论 -
华为 oj 公共子串计算
水题,原来以为用dp数组 结果wrong了两次 我想还是自己小题大做了···呵呵·· 献给初学者作为参考 #include #include #define MAX 200 int getCommonStrLength(char * pFirstStr, char * pSecondStr) { int m = strlen(pFirstStr); int n = strle原创 2015-04-19 13:35:31 · 448 阅读 · 0 评论 -
华为oj 统计字符串不同字符
#include #include int firstSingle(char *str) { int hash[128]={0}; for(int i = 0 ;str[i];i++) { hash[str[i]]++; } int cnt = 0; for(int i = 0;i < 128;i++) { if(hash[i]!=0) { cnt+原创 2015-04-19 16:48:51 · 357 阅读 · 0 评论 -
华为 oj 水题 数字颠倒
练手,献给初学者原创 2015-04-19 09:13:42 · 399 阅读 · 0 评论 -
华为oj 计算字符个数
练手而已 #include #include int main(void) { char string[200]={'\0'}; int kind[70]; char find; gets(string); scanf("%c",&find); int cnt = 0; for(int i = 0;i < strlen(string);i ++)原创 2015-04-19 09:07:04 · 453 阅读 · 0 评论 -
华为oj - 统计大写字母个数
练手而已。 给初学者参考 #include #include int main(void) { char string[200]={'\0'}; gets(string); int cnt = 0; if(string==NULL) { printf("0"); return 0; } for(int i = 0;i < strlen(st原创 2015-04-19 08:41:17 · 487 阅读 · 0 评论 -
二元查找树转换成一个排序的双向链表
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 比如将二元查找树 10 / \转载 2015-01-05 11:12:13 · 390 阅读 · 0 评论 -
kmp代码实现
/* kmp彻底理解 next 数组 :用来指导S【i】串 T【j】串 对应字符失配 指导 i 不回溯,即j应该走多少个位置 next[j]:j位置前一个元素 需要 计算某个字符对应的next值,就是看这个j对应字符之前的字符串中有多大长度的相同前缀后缀 */ #include #include #include void get_Next(char *pattern,int原创 2015-01-01 14:30:46 · 821 阅读 · 0 评论 -
布隆过滤器浅解
布隆过滤器 为什么有 普通url去重 字符串存储 占用存储空间 hashmap 消耗内存,可能出现哈希碰撞 bf 解决哈希碰撞 怎么做: 原理要点:一是位数组, 而是k个独立hash函数。 1)位数组:原创 2017-10-31 16:03:55 · 335 阅读 · 0 评论