题目19

删除字符串中出现次数最少的字符
    如果多个字符出现次数一样则都删除

    例子:
    输入
      abcdd
      字符串中只
     输出
      dd

    输入
      aabbccdd

    输出
      empty

      如果都被删除  则换为empty
<?php
$s=fgets(STDIN);
solution($s);

function solution($s)
{
    $s = str_split($s, 1);
    $cur = $s[0];
    $res[$cur]=1;
    for ($i = 1; $i < count($s); $i++) {
        if($s[$i]==$cur){
            $res[$cur]++;
        }else{
            $cur=$s[$i];
            $res[$cur]=1;
        }
    }
    $min=min($res);
    foreach ($res as $k=>$v){
        if($min==$v) unset($res[$k]);
    }
    if(count($res)==0) echo 'empty';
    $str='';
    foreach ($res as $k=>$v){
        for ($i=0;$i<$v;$i++) $str.=$k;
    }
    echo $str;
}

该代码可自行优化

posted @ 2022-07-16 18:20  weigm*  阅读(35)  评论(0)    收藏  举报