题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2017题目大意:统计数字出现的次数,但是要注意输入字符时,要清流。。要吸收一个回车。还有注意输入时的格式~ 1 #include 2 int main() 3 { 4 int n; 5 c...
分类:
其他好文 时间:
2014-07-13 21:34:06
阅读次数:
191
本题就是给出很多对字符串,然后问一个字符串在另外一个字符串出现的次数。
就是所谓的Strstr函数啦。
Leetcode有这道几乎一模一样的题目。
使用KMP算法加速,算法高手必会的算法了。
另外看见讨论说什么使用KMP还超时,最大可能是没有真正理解next table的含义,写了错误的代码,故此虽然自己运行结果正确,但是却没有真正发挥next table的作用,使得算法退化为暴力法了,所...
分类:
其他好文 时间:
2014-07-13 18:41:48
阅读次数:
229
判断一个字符串中出现次数最多的字符,统计这个次数//将字符串的字符保存在一个hash table中,key是字符,value是这个字符出现的次数var str = "abcdefgaddda";var obj = {};for (var i = 0, l = str.length; i < l...
分类:
编程语言 时间:
2014-07-12 13:47:34
阅读次数:
272
题目:把n个筛子扔到地上,所有筛子朝上一面的点数之和为s,输入n,打印出s的所有可能的值出现的概率。分析: 方法1:递归。 要求概率,那么我们首先只需要求出每个s出现的次数/(6^n)。怎么求s的次数呢?我们不妨把n个筛子分成2堆,一堆一个筛子,另一堆有n-1个筛子,第1堆筛子出现的...
分类:
其他好文 时间:
2014-07-12 13:10:39
阅读次数:
312
题目大意:
求一个子串,子串既是前缀又是后缀。
然后再求出它在整个串中出现的次数。
思路分析:
可以很容易想到如何判断一个串既是前缀又是后缀。
只需要它与 sa【0】 的lcp 等于 整个串的长度减去它的 sa 值。
然后接下来的工作是判断出现了 多少次。
首先我们想到,如果这个子串是目标前后缀。
那么出现过它的子串在sa 中的下标一定比这个串大。
因为它已经是最简的了。...
分类:
其他好文 时间:
2014-07-10 23:54:55
阅读次数:
505
前言
一般的排序都是需要进行关键字的比较的。有没有不需要比较的的呢?有的,计数排序就是其中一种。
计数排序
假设输入序列都是0到k之间的整数,则可使用计数排序。具体操作是这样的:创建一个同类型同等大小的临时数组temp,用于备份输入序列。创建一个整型大小为k的数组count,用于统计序列中各元素出现的次数。接下来只需把备份序列从大到小放回原数组即可。一个示例图:...
分类:
其他好文 时间:
2014-07-10 22:59:17
阅读次数:
252
大多数人的写法是进行位压缩,不过那样的话需要2^18*100 的空间,效率比较低,重复状态数较多,处理起来也不方便,这一题是给出了512M的空间。但是如果空间再小一倍,前者的方法就无能为力了。
发现有一种对于数位dp来说比较好的状态压缩方式,直接根据数码x出现的次数进行状态压缩。比如说333444,如果用前者的方法压缩就需要2^6=64的空间,而直接按照出现次数压缩就只需要3*3的空间,对于极限数据,利用均值不等式,也差不多只需(ceil(18/10+1)^10)=59049的空间,提高了空间的利用率(原来...
分类:
其他好文 时间:
2014-07-10 19:35:18
阅读次数:
213
与折半查找是同一个模式,不同的是,在这里不在查找某个确定的值,而是查找确定值所在的上下边界。
def getBounder(data, k, start, end, low_bound = False):
if end < start : return -1
while start > 1
if data[ mid ] ...
分类:
其他好文 时间:
2014-07-06 12:18:00
阅读次数:
311
数字在排序数组中出现的次数 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 统计一个数字在排序数组中出现的次数.通过折半查找, 找到首次出现的位置, 再找到末次出现的位置, 相减即可.时间复杂度O(logn).代码:/*
* main.cpp
*
* Created on: 2014.6.12
* Author: Spike
...
分类:
其他好文 时间:
2014-07-06 09:45:25
阅读次数:
177
第一个只出现一次的字符 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 在字符串中找出第一个只出现一次的字符.字符是char类型, 所以匹配256种可能, 采用hash表, 计算出现的次数, 再找到第一次出现的字符.代码:/*
* main.cpp
*
* Created on: 2014.6.12
* Author: Spi...
分类:
其他好文 时间:
2014-07-04 07:50:21
阅读次数:
174