求教一个快速查找算法
程序员文章站
2022-05-30 21:04:01
...
情景
有这样的对应关系:
90~100 => a+
86 ~ 90 => a
80 ~ 85 =>a-
....
怎么样根据 (eg: score = 81) 最高效的找到对应的等级
回复内容:
情景
有这样的对应关系:
90~100 => a+
86 ~ 90 => a
80 ~ 85 =>a-
....
怎么样根据 (eg: score = 81) 最高效的找到对应的等级
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);
感觉这样写应该就可以了。不过看你的题目情况应该是判试卷分数吧?如果极度追求效率且分数没有小数出现的话,可以采取”将0-100所有分数的等级给出一个数组,则$rank[$score]
就直接是对应等级了“这种空间换时间的方法。
推荐阅读
-
java字符串查找算法(讲解java写一个冒泡排序)
-
java字符串查找算法(讲解java写一个冒泡排序)
-
python快速查找算法应用实例
-
Python实现在某个数组中查找一个值的算法示例
-
在Mac下如何快速查找大型文件避免一个个找的麻烦
-
.Net·快速查找哪一个类库引用了哪一个Package
-
使用递归实现二分查找算法(查找一个值的索引)
-
【转载】C#使用FirstOrDefault方法快速查找List集合中符合条件的第一个实体
-
java算法面试题:设计一个快速排序。双路快速排序,简单易于理解。
-
算法007:二分查找 请实现有重复数字的有序数组的二分查找,输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一