mr.pomidor
|
|
1 | |
Наиболее часто встречаемые строки03.12.2011, 19:15. Показов 3761. Ответов 11
Метки нет (Все метки)
Задача: Задан массив текстовых строк. Вывести список трех строк, которые чаще всего встречаются во входном массиве.
Thank you for your efforts =) |
03.12.2011, 19:15 | |
Ответы с готовыми решениями:
11
Как определить наиболее часто повторяемый элемент массива? Капча. Доработать, чтобы вводить только наиболее часто встречающиеся символы Как вывести наиболее часто встречаемые элементы в массиве? Подсчет наиболее часто повторяющейся строки |
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
|
03.12.2011, 19:47 | 2 |
Свои варианты?
0
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
||||||
04.12.2011, 00:44 | 3 | |||||
Вот решение.
Допустим у нас есть массив строк $string (массив НЕ ассоциативный)
0
|
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
||||||
04.12.2011, 10:18 | 4 | |||||
Много букаф)) Вот так попроще же:
0
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
|
04.12.2011, 12:51 | 5 |
nubo, на счет
согласен, будет короче.
а т.к., меняет местами ключи со значениями, так она автоматом удалит совпадающие ключи, напр., если будут более 2-х совпадения с одинаковыми строками, то твой пример выберит один из них, что протеворечит условию. и код не совсем правильно работает )
0
|
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
||||||
04.12.2011, 16:42 | 6 | |||||
Семен Семеныч!))) Конечно. Вот так надо:
UPD Почему то Вш код выдает такой результат:
1
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
||||||
04.12.2011, 23:44 | 7 | |||||
нея, чет не так скопировал. Единственный бэд то, что скрипт выводит не 3 строки с макс кол-вом, а + еще и те, кол-во строк которых совпадает с третьим (т.е., если третьим элементов будет строка с кол-вом совпадений 1, и таких строк будет не одна, то скрипт выведит их все).
Зато так точно работает (надо было просто rsort сменить на arsort)
Код
Array ( [aaa] => 3 [hhh] => 2 [ссс] => 2 )
0
|
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
||||||
04.12.2011, 23:49 | 8 | |||||
Так а зачем ключами то их? Ему же список вроде надо. Мой последний это выдает:
0
|
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
|||||||||||
04.12.2011, 23:53 | 10 | ||||||||||
Ну твой вариант можно получить убрав из моего кода эту строку (будет еще короче )
0
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
|
04.12.2011, 23:59 | 11 |
ну да
по началу мысли так и шли, но чет не подумал о arsort();, а rsort(); превращал ключи массива $cn в числа, вот и нагородил лишние строки. незнаю, можно просто вывести в цикле, что по условию и требуется (а кол-во добавил, ну типа для доказательства, что это именно нужные нам строки). можно оставить и print_r
0
|
mr.pomidor
|
|
10.12.2011, 01:21 | 12 |
Спасибо большое, решение очень простое а я додуматся не мог
|
10.12.2011, 01:21 | |
10.12.2011, 01:21 | |
Помогаю со студенческими работами здесь
12
Строки: определить, какая буква встречается наиболее часто в словах 20 наиболее часто встречающихся слов Наиболее часто встречающееся слово наиболее часто встречающиеся байти Наиболее часто встречаемое слово Наиболее часто встречаемое слово Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |