您的位置:首页 > 其它

给定一个字符串,返回字符串中相邻的字符个数大于等于2的记录数

2012-08-29 18:47 357 查看
这道题是在博客园看到的。

问题:

比如给定一个字符串,返回字符串中相邻的字符个数大于等于2的记录数,比如aaa,算1个记录,aaabb,算2个记录,
abbccaaa,算3个记录, aaabbbcccefffghhh,算5个记录.

思路:

循环遍历字符串,当前字符跟上一个字符比较;

如果相同字符数加一;

如果不相同,判断当前字符相同数是否大于1,大于1记录数加1,重置相同字符数累加器为1;

代码(PHP实现):

<?php
$str = 'abcdefgeeesffsfddsswesdfsadfssdddaa';
$prevChar = '';
$currentChar = '';
$currentCharCnt = 1;
$recordCnt = 0;
for ($i = strlen($str) - 1; $i >= 0; $i--){
$currentChar = $str{$i};
if ($currentChar === $prevChar){
$currentCharCnt++;
}else{
if($currentCharCnt >= 2){
$recordCnt++;
}
$currentCharCnt = 1;
}
$prevChar = $currentChar;
}
echo $recordCnt, "\n";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐