【问题】
题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。
【分析】
解法1:
先排序,排序后数组中间的那个元素就是要找的那个数字。时间复杂度O(n*logn)。
解法2:
既要缩小总的时间复杂度,那么可以用查找时间复杂度为O(1)的hash表,即以空间换时间。哈希表的键值(Key)为数组中的数字,值(Value)为该数字对应的次数。然后直接遍历整个hash表,...
分类:
其他好文 时间:
2014-08-22 21:13:09
阅读次数:
265
本题如果编程是使用DP思想直接打表就可以了。
如果是找规律就需要数学思维了。
规律就是看这些连续的0是从哪里来的。
我找到的规律是:1经过两次裂变之后就会产生一个00; 00经过两次裂变之后也会产生新的00;故此需要记录好1和00出现的次数就可以递推出后面的00出现的数据了。
公式就是tbl00[i] = tbl00[i-2] + tbl1[i-2]; 其中tbl00是记录00出现的次数,...
分类:
其他好文 时间:
2014-08-22 13:01:58
阅读次数:
218
capitalize()把字符串的第一个字符改为大写casefold()把整个字符串的所有字符改为小写center(width)将字符串居中,并使用空格填充值长度width的新字符串count(sub[,start[,end]])返回sub在字符串里出现的次数,start和end参数表示范围,可选encode(encoding=‘utf-8‘,er..
分类:
编程语言 时间:
2014-08-21 19:36:45
阅读次数:
253
我们实现一个简单的文本查询程序。我们的程序允许用户在一个给定文件中查询单词,查询结果是单词在文件中出现的次数及所在行的列表。如果一个单词在一行中出现多次,此行只列出一次。#include#include#include#include#include#include#include#includeu...
分类:
其他好文 时间:
2014-08-19 23:57:25
阅读次数:
438
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27364557题目描写叙述:统计一个数字在排序数组中出现的次数。输入:每一个測试案例包括两行:第一行有1个整数n,表示数组的大小。1#include/*二分查找法计算key出现的次数*/int...
分类:
其他好文 时间:
2014-08-19 22:25:15
阅读次数:
213
根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。 上排的十个数如下: 【0,1,2,3,4,5,6,7,8,9】举一个例子, 数值: 0,1,2,3,4,5,6,7,8,9 分配: 6,2,1,0,0,0,1,0,0,0 0在下排...
分类:
其他好文 时间:
2014-08-19 22:10:05
阅读次数:
154
30.在从 1 到 n 的正数中 1 出现的次数(数组)题目:输入一个整数 n,求从 1 到 n 这 n 个整数的十进制表示中 1 出现的次数。例如输入 12,从 1 到 12 这些整数中包含 1 的数字有 1, 10, 1 1 和 12, 1 一共出现了 5 次。思路:如1121 判断 千位 1....
分类:
其他好文 时间:
2014-08-19 12:25:04
阅读次数:
203
/*统计字符
Problem Description
统计一个给定字符串中指定的字符出现的次数
Input
测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到'#'时输入结束,相应的结果不要输出。
Output
对每个测试用例,统计第1行中...
分类:
其他好文 时间:
2014-08-18 20:34:22
阅读次数:
204
如果需要判断多个字符是不是在某个字符串里面出现过或者统计多个字符在某个字符串中出现的次数,我们可以考虑基于数组创建一个简单的hash表,这样可以用很小的空间消耗来换取时间效率的提升。
题目1:从第一个字符串中删除第二个字符串中出现的所有字符
思路:准备一个hash数组,遍历第二个串,并以每个字符所对应的asc码作为下标,值为是否出现,1代表出现。然后遍历第一个串,每遍历一个...
分类:
其他好文 时间:
2014-08-18 18:35:52
阅读次数:
230
给N个升序的数字,要求找出一个子串,每相邻两个数字不互质,求最长串的长度
提示
1)dp[i]表示到第i个数字的最长串
2)dp[i]用前i-1项中与第i项不互质的最大项更新
3)寻找与第i项不互质,即找与第i项有公公因数,所以建立数组dig[i]表示该因数出现的次数
#include
#include
#define maxn 100005
int dp[maxn];
int di...
分类:
其他好文 时间:
2014-08-17 18:38:52
阅读次数:
197