Maison >développement back-end >tutoriel php >求教一个快速查找算法

求教一个快速查找算法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBoriginal
2016-06-06 20:38:101028parcourir

情景

有这样的对应关系:

<code>90~100 => a+
86 ~ 90 => a
80 ~ 85 =>a-
....
</code>

怎么样根据 (eg: score = 81) 最高效的找到对应的等级

回复内容:

情景

有这样的对应关系:

<code>90~100 => a+
86 ~ 90 => a
80 ~ 85 =>a-
....
</code>

怎么样根据 (eg: score = 81) 最高效的找到对应的等级

<code>function getRank($score) {
    $rank = array(90=> "A+", 86=>"A", 80=>"A-", 75=>"B+", 70=>"B", 65=>"B-");
    foreach($rank as $s => $r) {
        if($score - $s >= 0) return $r;
    }
    return false;
}
echo getRank(81);
</code>

感觉这样写应该就可以了。不过看你的题目情况应该是判试卷分数吧?如果极度追求效率且分数没有小数出现的话,可以采取”将0-100所有分数的等级给出一个数组,则$rank[$score]就直接是对应等级了“这种空间换时间的方法。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn