
算法
文章平均质量分 70
shzyiwai
这个作者很懒,什么都没留下…
展开
-
算法面试题,在数组中找出这样的数,它比它前面的数都大,比它后面的数都小
问题:在一个数组A[n]中,找出所有这样的A[i],它比它前面的所有数都要大,比它后面的数都要小例如:如果A[8] = {1 2 3 4 5 6 7 8},则输出 1 2 3 4 5 6 7 8 如果A[8] = {8 7 6 5 4 3 2 1},则输出为空 如果A[8] = {3 5 4 2 1 6 8 7},则输出为6原创 2014-07-17 12:51:40 · 4352 阅读 · 0 评论 -
blas、lapack和atlas、openblas的区别联系
1、Fortran语言Fortran语言是为了满足数值计算的需求而发展出来的一种编程语言。Fortran语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。它可以直接对矩阵和复数进行运算,自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的源程序。许多科学计算库的底层实现都是采用的Fortran语言,下面介绍的BLAS和LAPACK也不例外。2、BL原创 2017-09-06 13:49:12 · 28140 阅读 · 4 评论 -
kaldi中FST的可视化-以yesno为例
1、kaldi解码过程kaldi识别解码一段语音的过程是:首先提取特征,然后过声学模型AM,然后过解码网络HCLG.fst,最后输出识别结果。HCLG是解码时的重要组成部分。HCLG.fst是由4个fst经过一系列算法(组合、确定化和最小化等)组合而成的。4个fst分别是H.fst、C.fst、L.fst和G.fst,分别是HMM模型、上下文环境、词典和语言模型对应的fst。HCLG原创 2017-09-08 14:06:17 · 16734 阅读 · 5 评论 -
1024!末尾有几个零?
1024可计为N解题方法有两种:一、使用大整数运算,也算是“暴力求解”了。但只看可能的求解长度就下一跳啊。此法不可取。二、运用数学理论不难发现:1、结果0的个数是和其小于N中各位为5的个数不无关系的。不是5的倍数无论和哪个相乘都不可能出现个位为0的结果。N以内的偶数个数肯定是大于5倍数的个数的(5和偶数相乘才可能增加末位0的个数)。所以有a转载 2014-10-20 21:48:06 · 666 阅读 · 0 评论 -
kaldi中hashlist阅读总结
kaldi中的解码算法里,需要记录很多的令牌(token)。每个令牌,都是一条路径的“头”,通过这个令牌回溯,就可以得到一条完整的路径。如果解码到最后一帧,从所有的令牌中,找到得分最优的那个的令牌,回溯得到路径,其路径上的输出,就是识别结果。(one-bese结果)在解码过程中,会产生很多的令牌。需要设计一种数据结构和相关算法,用来保存和更新令牌。其设计要求可以简单概括如下。 1、可以快原创 2017-12-29 13:28:07 · 2784 阅读 · 1 评论 -
kaldi中的Vector和Matrix
kaldi中的Vector和Matrix Vector和Matrix是kaldi中最常用的数据类型之一。语音数据,提取的特征,计算的结果,都保存在Vector或者Matrix之中。按照字面意思,Vector是“向量”,它只有一行数据,是一维的。Matrix是“矩阵”,它有行与列两个维度。kaldi中的Vector和Matrix,可以做许多数学上的操作。比如点加或点乘(每个元素都加上一原创 2018-01-30 09:55:28 · 4595 阅读 · 0 评论