
【算法】
文章平均质量分 58
菜的抠脚弟弟
本人现就职于国内某top电商公司,有相应合作及学术交流,可联系邮箱305172521@qq.com
展开
-
最大连续子序列和问题O(n)解法
#问题描述:输入数列,求其最大连续子序列和最大,输出该子数列及和值。时间复杂度O(n) #分析:O(n)的时间复杂度基本上只是对于一个数列的一次for循环遍历。这里有个事实情况下:假设做加法运算,A+B+C+...+K,如果K之前的加法运算的和>0,那么K与其相加势必会增加之后的求和值。因此,只要判断前面的求和值>0,我们就将其加起来。 #参数:使用currentmax保存当前遍历的最大和值,原创 2017-03-20 10:48:55 · 1717 阅读 · 0 评论 -
某实习生招聘
看到题目,很显然是0,1背包问题,苦于平时练手不多,在正在开始写的时候犯难了,调试不通过,导致在规定的时间没提交,后悔不已。之后自己解决了代码问题,做个记录。 题目:给定数组{1,3,4,5,9,11,2},输出和为n的组合个数 分析:常规题目一般我给定连续的数组,如{1,2,3,4,5...,k},输出何为n的组合个数,而题目给定的数组非连续,因此在递归代码中势必需要有个中间flag用来记录原创 2017-03-07 16:57:47 · 592 阅读 · 0 评论 -
从Fibonacci出发小谈递归与循环
Fibonacci数列作为经典,以该方法简要看看递归和循环的区别 递归:艺术且直观,往往一个问题具备递归的规律的发觉是一件最核心也是最为考究的问题。 此处Fibonacci直接可表示为 f(n) = f(n-2)+f(n-1) (n>=2)| f(1)=f(0)=1 public static int f(int n){ if(n<2) return 1; else retu原创 2017-03-05 22:09:50 · 321 阅读 · 0 评论 -
贝叶斯分类
朴素贝叶斯分类 1.1、摘要 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本文作为分类算法的第一篇,将首先介绍分类问题,对分类问题进行一个正式的定义。然后,介绍贝叶斯分类算法的基础——贝叶斯定理。最后,通过实例讨论贝叶斯分类中最简单的一种:朴素贝叶斯分类。 1.2、分类问题综述 对于分类问题,其实谁都不会陌生,说我们每转载 2016-01-15 11:49:16 · 675 阅读 · 0 评论 -
从最长公共子串到后缀自动机(LCS->SAM)
Longest Common Substring—Suffix Automaton本文将从最长公共子串开始说起,循序渐进的讲解后缀自动机,希望通过自己的理解帮助到大家,文章目录如下: 最长公共子串问题 后缀自动机历史 后缀自动机简介 后缀自动机相关理论基础 如何构造后缀自动机 后缀自动机的应用 总结 最长公共子串问题首先来看一到经典的例题题目:给出N个长度不超过100000的字符串,求他们的最长公共原创 2016-01-05 11:19:11 · 4181 阅读 · 3 评论 -
利用堆栈实现找寻队列最大数
利用堆栈实现找寻队列最大数/** *问题描述 *有一个序列{3,4,1,7,5,9},利用堆栈求他的最大值(前提是堆栈中需要保存序列的所有数字) */ //算法思路 //用A,B两个栈,利用A栈保存序列,B栈保存当前进入A栈的数的最大数 例如: 首先,3进入A栈,此时A栈为空,则A栈最大数为3,将3压入B栈; 其次,4进入A栈,此时4与B栈栈顶元素3比较,4>3,4压入B栈; 接着,1进入A栈,此时原创 2015-11-11 21:13:04 · 454 阅读 · 0 评论