利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串"aabcccccaaa"会变为"a2b1c5a3"。若“压缩”后的字符串没有变短,则返回原先的字符串。分析:依次遍历输入字符串的每个字符,若当前字符与前一个字符相同,则计数加1;否则,将前一个字符及其出现次数存入压缩字符串...
分类:
其他好文 时间:
2014-09-14 20:41:17
阅读次数:
181
在网上看到一个算法题,不是很难,搜一下也有解决办法,但是一般都是几层for循环,试着写了下
/**
* 给你一组字符串 如 {5,2,3,2,4,5,1,2,1,5},让你输出里面出现次数最多且数值最大的一个,出现几次
* 优点:时间复杂度为O(n)
* 缺点:产生一些多余的空间,如 6,7,8没有的数也会分配一个数组空间,但是基本可以忽略
* 限制:...
分类:
其他好文 时间:
2014-09-12 10:14:33
阅读次数:
184
众数问题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,
多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。
现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出...
分类:
其他好文 时间:
2014-09-11 23:58:32
阅读次数:
399
写出在母串中查找子串出现次数的代码#includeint count1(char* s1, char* s2){ int count = 0; while(*s1!='\0') { while(*s2 == *s1&&(*s2!='\0')&&(*s1!='\0')) { s2++; s1++; }...
分类:
其他好文 时间:
2014-09-10 21:02:01
阅读次数:
127
Countwordsandletters-计算用户输入一行文本中的单词数和每个字母出现次数//Countwordsandletters
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cctype>
usingnamespacestd;
intmain()
{
intwords_count=1;
intchar_count[26]=..
分类:
其他好文 时间:
2014-09-10 19:38:11
阅读次数:
164
题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。输入:每个测试案例包括2行:第一行输入一个整数n(1 2 void main() 3 { 4 ...
分类:
其他好文 时间:
2014-09-05 12:37:01
阅读次数:
144
思路:涉及到2点: 1. Hash, 保证查找为 O(1). 2. S 中设置两指针,根据长度确定右边指针位置;根据若去掉该字符,则该字符在 window 中出现次数将小于在 T 中出现的次数确定左边指针位置。
要统计一个字符串出现的次数,这里现提供自己常用两种方法:1. 使用vim统计用vim打开目标文件,在命令模式下,输入:%s/objStr//gn即可2. 使用grep:grep -o objStr filename|wc -l如果是多个字符串出现次数,可使用:grep -o ‘objStr1\|o....
分类:
系统相关 时间:
2014-08-31 17:09:31
阅读次数:
753
题目练级:uva 1449 - Dominating Patterns
题目大意:有一个由小写字母组成的字符串集和一个文本T,要求找出那些字符串在文本中出现的次数最多。
解题思路:将字符串集建立AC自动机,然后传入T进行匹配,对每个匹配上的字符串多应次数加1,最后找出最大值。出现次数与最大值相同的字符串输出。注意字符集中出现相同字符的情况。
#include
#include
#...
分类:
其他好文 时间:
2014-08-28 22:48:36
阅读次数:
303