字母相同

2019-05-30  本文已影响0人  幻无虚生

随机一个(值为随机三个小写字母)的数组,数组长度len=100,输出字母相同(排序可以不同)的二维数组,实列如下

示例:len=7

输入: ["abc", "bca", "bbc", "cab", "cbb", "has"],
输出:
[
["abc","bca","cab"],
["bbc","cbb"],
["has"]
]

说明:
不考虑答案输出的顺序。

//*****************************************字母相同*************************
function ABC(){
    $array=["abc", "bca", "bbc", "cab", "cbb", "has"];
    $array_tmp=$array;
    $len=count($array);
        for($j=0;$j<$len;$j++){
            $v=$array_tmp[$j];
            $max=0;
            for($m=0;$m<3;$m++){
                $max+=ord($v[$m]);
            }
            $array_tmp[$j]=$max;
        }
    $ddd=[];
    $o=FetchRepeatMemberInArray($array_tmp);
    for($i=0;$i<count($o);$i++){
        $abc=[];
        $abc[$i]=array_keys($array_tmp,$o[$i]);
        foreach ($abc as $k=>$v) {
            foreach($v as $m=>$n){
                $ddd[$i][]=$array[$n];
            }

        }
    }
    echo json_encode($ddd);
}
function FetchRepeatMemberInArray($array){
    // 获取去掉重复数据的数组
    $unique_arr = array_unique ( $array );
    $unique_arr=array_values($unique_arr);
    return $unique_arr;
}
ABC();
上一篇 下一篇

猜你喜欢

热点阅读