zoukankan      html  css  js  c++  java
  • 给定一个字符串,返回字符串中相邻的字符个数大于等于2的记录数

    这道题是在博客园看到的。

    问题:

    比如给定一个字符串,返回字符串中相邻的字符个数大于等于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";
  • 相关阅读:
    Phone-reset
    解决ie8下h5元素兼容性的问题
    PC css_reset
    centos7 nginx@1.16.1
    centos 7
    IE兼容css3的圆角和阴影和渐变
    前端开发安全编码规范
    防抖和节流封装模块
    vue的简单实现
    vue中$forceUpdate的使用
  • 原文地址:https://www.cnblogs.com/wadeyu/p/2662543.html
Copyright © 2011-2022 走看看