我知道我可以Math.max(int, int)
用来返回两个整数中的最高值,但是假设我有一个 SQL 表,其中包含名称、某种排名/分数(以整数的形式),我如何获取这些分数并获得其中最高的?
或者,我怎样才能将它们从高到低排序,然后我可以处理其余的?
你可以通过一个简单的 MySQL 查询来做到这一点。
例子:
SELECT * FROM table_name ORDER BY score DESC LIMIT 1;
第一行将是最高的。
好吧,排序比找到最大值更昂贵。
找到最大值的可能最流行的代码是:
int max = data[0];
for (int i = 1; i < data.length; i++) {
max = Math.max(max, data[i]);
}
这样做并没有错。
排序会起作用,但排序是 in O(n log n)
,而这显然只是O(n)
。