Натхненний цим питанням і вдосконалений Луїсом Мендо .
Виклик
З огляду на 2D матрицю цілих чисел, кожен рядок має максимальне значення. Один або кілька елементів кожного рядка буде дорівнює максимальному значенню їх відповідного рядка. Ваша мета - визначити, який стовпець (и) містять найбільше записів, які дорівнюють максимальному значенню відповідного рядка, а також кількості максимумів у рядках, розміщених у цих стовпцях.
Вхідні дані
- Вхід буде не порожньою матрицею
M
xN
(M
> 0 іN
> 0) у будь-якій формі, яка добре відповідає вашій вибраній мові.
Вихідні дані
- Ваша програма повинна повертати індекс кожного стовпця, що містить максимальну кількість максимумів у рядках (або як окремі значення, або як список). Можна використовувати або індексацію на основі 0 або 1 (вкажіть у своєму описі).
- Ваша програма також повинна повертати кількість максимумів, що були в цих стовпцях (єдине число).
- Порядок / формат виводу є гнучким, але його слід пояснити в тексті, що супроводжує вашу відповідь.
Додаткова інформація
- Усі записи у вхідній матриці будуть додатними цілими числами.
- Якщо максимальне значення рядка поділяється на кілька елементів у цьому рядку, всі входження цього значення зараховуються до загальної кількості їх стовпців.
- Якщо кілька стовпців містять однакову кількість максимумів, вам слід повернути список усіх стовпців, які мали цю кількість максимумів.
Приклад
Розглянемо вхід
7 93
69 35
77 30
Рядок 1 має максимум 93, який відбувається лише один раз, а саме у стовпці 2. Рядок 2: відбувається у стовпці 1. Рядок 3: також у стовпці 1. Отже, стовпець-переможець - 1, максимум 2. Таким чином, вихід буде [1] [2]
. Якщо ми змінимо вхід на
7 93
69 35
77 77
вихід буде [1 2] [2]
, тому що обидва стовпця мають 2 максимуми.
Випробування
input => output ( [1-based index array], [nMaxima] )
----------------------------------------------
7 93
69 35 => [1], [2]
77 30
7 93
69 35 => [1 2], [2]
77 77
1 2 3 4 => [4], [2]
5 6 7 8
16 2 3 13
5 11 10 8 => [1 2 4], [1]
9 7 6 12
1 1 1 1 => [1 2 3 4], [1]
25 6 13 25 => [1 4], [1]
1
2
3 => [1], [4]
4
100 => [1], [1]
Оцінка балів
Це код-гольф , виграє найкоротший код у байтах. Тібрейкер переходить до більш ранньої відповіді.
Таблиця лідерів
Нижче представлений фрагмент стека для аналізу всіх записів.