讨论/题目交流/🏆 第 178 场力扣周赛/
🏆 第 178 场力扣周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛

image.png

3 分 - 有多少小于当前数字的数字
4 分 - 通过投票对团队排名
5 分 - 二叉树中的列表
7 分 - 使网格图至少有一条有效路径的最小代价

第二题 php 解法
class Solution {

/**
 * @param String[] $votes
 * @return String
 */
function rankTeams($votes) {
    if(strlen($votes[0]) == 1) return $votes[0]; 
    //所有参赛队伍
    $team = str_split($votes[0]);
    $voteCount = array();
    //初始化
    foreach ($team as $key => $value) {
        $voteCount[$value] = array();
        for ($i=0; $i < count($team); $i++) { 
            $voteCount[$value][$i+1] = 0;
        }
    }
    //得到投票结果
    for ($i=0; $i < count($votes); $i++) { 
        //每一个人的投票结果
        $str = $votes[$i];
        for ($j=0; $j <strlen($str); $j++) { 
            $voteCount[$str[$j]][$j+1]++;
        }
    }

    ksort($voteCount);
    uasort($voteCount, array($this, 'cmp'));
    $result = implode('', array_keys($voteCount));
    return $result;
}
//自定义排序算法
function cmp($a, $b){
    for ($i=1; $i <= count($a); $i++) { 
        if($a[$i] > $b[$i]) return -1;
        if($a[$i] == $b[$i]) continue;
        if($a[$i] < $b[$i]) return 1;
    }
}

}

展开全部 21 讨论