알고리즘 - PHP를 사용하여 점수 순위를 구현하는 방법, 좋은 아이디어가 있습니까?
世界只因有你
世界只因有你 2017-05-16 13:16:24
0
5
1183

학생 점수의 순위를 매긴 후 순위 결과를 출력합니다.
예: $scores = array(90,100,100); 自定义函数实现返回数组 $rank(3,1,1);

世界只因有你
世界只因有你

모든 응답(5)
过去多啦不再A梦

<?php

으아아아

?>

이것은 귀하의 요구를 충족시킬 수 있지만 질문이 있습니다. 시험에서 99점을 받은 사람이 2등을 해야 하는 것 아닌가요?

左手右手慢动作

질문자가 원하는 것은 원래 배열 순서대로 순위를 표시하는 것입니다(동점 가능). 일반적인 아이디어는 위치 정보로 원래 배열을 보완한 다음, 정렬된 결과를 기반으로 순위 배열을 역으로 구성하는 것입니다. 쓰기가 좀 번거롭네요:

으아악

n위에 공동 n번째 사람이 여러 명 있을 경우 다음 사람은 n+1번째 사람이 되는데, 이는 질문자의 예시와 약간 다릅니다. 전체 알고리즘의 복잡성 병목 현상은 정렬이며 이는 O(n lgn)입니다.

Ty80

PHP 고유의 배열 정렬 기능을 사용하시나요?

phpcn_u1582

http://www.php.net/manual/zh/...
내장된 데이터 정렬 기능으로 문제를 해결할 수 있습니다

我想大声告诉你

먼저 이 배열을 점수별로 정렬한 다음 이 배열을 다시 삽입하세요. 그런 다음 점수에 따라 열쇠를 얻으십시오.

추가: 귀하의 점수는 데이터베이스에 기록되지 않으므로 순서대로 가져옵니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿