Heim >Backend-Entwicklung >PHP-Tutorial >求教一个快速查找算法

求教一个快速查找算法

WBOY
WBOYOriginal
2016-06-06 20:38:101002Durchsuche

情景

有这样的对应关系:

<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]就直接是对应等级了“这种空间换时间的方法。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn