Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Lolka1996
2 / 2 / 1
Регистрация: 27.05.2015
Сообщений: 65
#1

Массив: Вывести номер строки c макс. кол-вом одинаковых элементов

27.10.2015, 00:14. Просмотров 1047. Ответов 8
Метки нет (Все метки)

Люди помогите. Вообще не представляю как это сделать:

Дана целочисленная матрица размера M×N. Вывести номер её первой строки, содержащей максимальное количество одинаковых элементов.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2015, 00:14
Ответы с готовыми решениями:

Цикл, определяющий номер строки, с самой длинной серией одинаковых элементов
Номер строки, в которой находится самая длинная серия одинаковых элементов....

Динамически создающийся массив с удаление после достижения нужного значения кол-ва элементов
Приветствую. Есть задачка, которая сломала мне голову... пишу на питоне...

Сформировать массив, состоящий из одинаковых элементов исходных массивов
Ввести два массива X и Y, состоящих из 10-ти элементов целого типа....

Вывести номер строки матрицы с самой длинной последовательностью одинаковых элементов
Пожалуста, кто знает решите пожалуста задачку: Дана квадратная матрица m*m,...

Вывести номер первой строки матрицы, содержащей максимальное количество одинаковых элементов
Дана целочисленная матрица размера M x N. вывести номер ее первой строки,...

8
Jabbson
Эксперт по компьютерным сетям
3348 / 2423 / 746
Регистрация: 03.11.2009
Сообщений: 7,759
Записей в блоге: 3
27.10.2015, 00:54 #2
Лучший ответ Сообщение было отмечено Lolka1996 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
from collections import Counter
 
a = [[1, 2, 3, 3, 4],
     [1, 2, 2, 3, 4],
     [1, 3, 3, 3, 4],
     [1, 1, 1, 2, 3],
     [1, 1, 1, 0, 0]]
maxs = [Counter(x).most_common(1)[0][1] for x in a]
print(maxs.index(max(maxs))+1)
2
Marinero
Модератор
Эксперт NIX
2049 / 1662 / 567
Регистрация: 02.03.2015
Сообщений: 5,443
27.10.2015, 09:27 #3
Python
1
2
repeats = [line.count(max(line, key=line.count)) for line in matrix]
print(repeats.index(max(repeats)))
Добавлено через 7 минут
Python
1
2
repeats = [max(line.count(elem) for elem in line) for line in matrix]
print(repeats.index(max(repeats)))
1
Lolka1996
2 / 2 / 1
Регистрация: 27.05.2015
Сообщений: 65
27.10.2015, 10:37  [ТС] #4
Цитата Сообщение от Marinero Посмотреть сообщение
Python
1
2
repeats = [line.count(max(line, key=line.count)) for line in matrix]
print(repeats.index(max(repeats)))
Добавлено через 7 минут
Python
1
2
repeats = [max(line.count(elem) for elem in line) for line in matrix]
print(repeats.index(max(repeats)))
repeats = [max(line.count(elem) for elem in line) for line in matrix]
TypeError: 'int' object is not iterable
0
Marinero
Модератор
Эксперт NIX
2049 / 1662 / 567
Регистрация: 02.03.2015
Сообщений: 5,443
27.10.2015, 10:41 #5
Lolka1996,
Python
1
print(matrix)
?
0
Lolka1996
2 / 2 / 1
Регистрация: 27.05.2015
Сообщений: 65
27.10.2015, 10:53  [ТС] #6
Сначала ругается на то что они не описаны(matrix,elem). Описываю вылетает та ошибка
0
Marinero
Модератор
Эксперт NIX
2049 / 1662 / 567
Регистрация: 02.03.2015
Сообщений: 5,443
27.10.2015, 10:57 #7
Матрицу свою покажи!!!
0
Lolka1996
2 / 2 / 1
Регистрация: 27.05.2015
Сообщений: 65
27.10.2015, 11:00  [ТС] #8
Цитата Сообщение от Marinero Посмотреть сообщение
Матрицу свою покажи!!!
from random import randint
stolb,strok=3,3
mas = [[randint(-5, 5) for j in range(stolb)] for i in range(strok)]
0
Marinero
Модератор
Эксперт NIX
2049 / 1662 / 567
Регистрация: 02.03.2015
Сообщений: 5,443
27.10.2015, 11:37 #9
Python
1
2
3
4
5
6
In [87]: matrix=[[randint(-5, 5) for j in range(10)] for i in range(10)]
 
In [88]: repeats = [max(line.count(elem) for elem in line) for line in matrix]
 
In [89]: print(repeats.index(max(repeats)))
4
Всё работает как видите
1
27.10.2015, 11:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2015, 11:37

Подпрограммы: Вывести номер ее первой строки, содержащей максимальное количество одинаковых элементов
Помогите пожалуйста, возможно я тупой, но я просто не врубаюсь как это сделать,...

Вывести номер её первой строки матрицы, содержащей максимальное количество одинаковых элементов
Дана целочисленная матрица размера M x N .Вывести номер её первой строки...

Двумерный массив. Определить номер строки с самой длинной серией одинаковых элементов
Всем привет! Нужна помощь в следующем задании: дана целочисленная прямоугольная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru