查找字符串中出现次数最少/最多的字符+第一次出现次数

265 阅读1分钟

这也算是一道php比较常见的面试题吧,碰见了就自己写了写。

大佬勿喷!!🐶

$str = "sdjkfhaskljhskljhklsjskldf";
$len = strlen($str)-1;
$arr = [];
for ($i = 0;$i<=$len;$i++){
     if(!$arr[$str[$i]]){
           $arr[$str[$i]] =['num' =>$i , 'first'=>$i];
     }else{
           $arr[$str[$i]]['num']++;
     }
}
$num = array_combine(array_keys($arr),array_column($arr,num));
$first = array_combine(array_keys($arr),array_column($arr,first));

echo "出现次数最小的字符是:".array_search(min($num), $num)";
echo "第一次出现的位数是:".$first[array_search(min($num), $num)];