随笔分类 -  算法

摘要:给出一个正整数,求出2-正整数之间的所有素数。所谓素数,就是除了1和它本身外不能被任何数整除的数。 素数求解的问题是刚开始接触C语言就接触到的简单问题,也许你会写出下面的代码: 该代码套用两层循环,从2遍历至end_num,对每一个数进行素数判断。时间复杂度O(n^2)。 但是我们发现该算法在判断n 阅读全文
posted @ 2019-10-15 22:03 _程序兔 阅读(533) 评论(0) 推荐(0) 编辑
摘要:Brute-Force算法,简称BF算法,是一种简单朴素的模式匹配算法,常用语在一个主串string 内查找一个子串 pattern的出现位置。 核心思想: i 遍历主串string i 每自增一次,内层循环用 j 遍历子串 pattern ,同时判断 patter[j] == string[i+j 阅读全文
posted @ 2019-10-07 13:30 _程序兔 阅读(427) 评论(0) 推荐(0) 编辑
摘要:在开始正文前先了解两个概念 前缀: 除了字符串的最后一个字符外,一个字符串的全部头部组合 后缀: 除了字符串的第一个字符外,一个字符串的全部尾部组合 例: abcd 的全部前缀为: a, ab, abc abcd 的全部后缀为: d, cd, bcd 正文部分: 字符串匹配算法的姊妹篇 BF算法中讲 阅读全文
posted @ 2019-10-07 12:39 _程序兔 阅读(565) 评论(0) 推荐(1) 编辑
摘要:算法每日精进,offer!offer!offer! 给定一个包含,0,1,2,......,n 中 n 个数的序列,找出 0 - n中未出现的序列中的那个数。 如: 输入:[3, 0, 1] 输出:2 输入:[8, 5, 4, 6, 7, 1, 0, 2] 输出:3 方法一:对该序列排序,并遍历数组 阅读全文
posted @ 2019-09-18 23:10 _程序兔 阅读(304) 评论(0) 推荐(0) 编辑
摘要:题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 有一个很容易理解的方法就是直接排序,如果该数字存在则中间的位置就是该数字。时间 阅读全文
posted @ 2019-09-18 22:15 _程序兔 阅读(187) 评论(0) 推荐(0) 编辑
摘要:牛客上面一道题,闲来无事做做陶冶情操。 这一陶冶还真的陶冶出了骚操作 看一下题目吧: 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 OK,不能用循环,那就用递归,不能用if,那就利用逻辑短路! 代码: 阅读全文
posted @ 2019-09-17 09:31 _程序兔 阅读(332) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示