![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 18
|
Здравствуйте, пожалуйста, помогите найти правильный подход к задаче:
Нужно найти число (букву/символ), которое меньше (больше) всего повторялось из всех перечисленных в массиве неограниченного длинной. Например [7, 9, 7, 1, 9, 7, 5, 2, 5, 2, 7]; после сортировки (arr.sort()); - [1, 2, 2, 5, 5, 7, 7, 7, 7, 9, 9] Число которое повторялось меньше всего раз - [1]; Больше всего - [7]; Пожалуйста, помогите найти рациональный способ решения сортировки массива по количеству одинаковых элементов. (не получается составить оптимальный алгоритм). Заранее спасибо. |
|
|||||
|
Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
|
смотри вот этот образец, сам дня два парился, а на самом деле все просто
надеюсь то, что требовалось Последний раз редактировалось NoCD; 25.01.2008 в 21:29. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 18
|
iNils, сортировочное расположение n...n+k;
NoCD, спасибо большое, идея полностью подходящая. index = 0;
number = 5;
var arr:Array=[];
var arr2:Array=[];
for (i=0; i<number; i++) {
arr[i] = random(number);
trace(arr[i]);
}
jj = 0;
trace("........");
for (j=0; j<number; j++) {
for (k=0; k<number; k++) {
if (index == arr[k]) {
jj++;
}
}
arr2[j]=(jj+"-"+index);
index++;
jj = 0;
}
arr2.sort();
trace(arr2);
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|