Задача о счастливом числе
На входе матрица m x n различных чисел. Создайте функцию find_luckiest_number(), которая вернет счастливое число — такой элемент, который является минимальным в своей строке и максимальным в своём столбце.
Объяснение: 12 — минимальное число в своем ряду № 4 и максимальное в столбце № 4.
#задача
@zen_of_python
На входе матрица m x n различных чисел. Создайте функцию find_luckiest_number(), которая вернет счастливое число — такой элемент, который является минимальным в своей строке и максимальным в своём столбце.
>>> matrix = [[1,10,4,2],[9,3,8,7],[15,16,17,12]]
>>> find_luckiest_number(matrix)
... 12
Объяснение: 12 — минимальное число в своем ряду № 4 и максимальное в столбце № 4.
#задача
@zen_of_python
❤2
Поздравляем победителей
Задачу о счастливом числе верно решили:
— @Metimol;
— @longcompetition;
— Sergey;
— @xpos587;
— @vsugoyak;
Кратчайшее верное решение предложил @vsugoyak:
Отдельный респект @longcompetition за решения с учётом временной сложности алгоритма. Самое то для новичков в этой теме.
#задача
@zen_of_python
Задачу о счастливом числе верно решили:
— @Metimol;
— @longcompetition;
— Sergey;
— @xpos587;
— @vsugoyak;
Кратчайшее верное решение предложил @vsugoyak:
def find_luckiest_number(matrix):
return ls[0] if len(ls:=[mn for arr in matrix if (mn:=min(arr)) == max(matrix[el][arr.index(mn)] for el in range(len(matrix)))])>0 else None
Отдельный респект @longcompetition за решения с учётом временной сложности алгоритма. Самое то для новичков в этой теме.
#задача
@zen_of_python
👍4🍾2
Задача о Р̶о̶с̶с̶т̶а̶т̶е̶ зарплатах
Вам дан массив уникальных целых чисел, где salary[i] — это зарплата i-го сотрудника.
Напишите функцию, которая вернёт среднюю зарплату сотрудников без учёта минимальной и максимальной зарплаты.
Для теста:
#задача
@zen_of_python
Вам дан массив уникальных целых чисел, где salary[i] — это зарплата i-го сотрудника.
Напишите функцию, которая вернёт среднюю зарплату сотрудников без учёта минимальной и максимальной зарплаты.
Для теста:
>>> salaries = [4000,3000,1000,2000]
>>> get_mean_salary(salaries)
... 2500
#задача
@zen_of_python
❤1
Поздравляем победителей
Задачу о повороте матрицы верно решили:
— @Python3k;
— @erg_y;
— @vsugoyak.
Кратчайшее верное решение предложил @vsugoyak:
#задача
@zen_of_python
Задачу о повороте матрицы верно решили:
— @Python3k;
— @erg_y;
— @vsugoyak.
Кратчайшее верное решение предложил @vsugoyak:
def turn_matrix(grid, k):
return [[grid[(place:=(_n+(n:=len(grid[0]))*_m-k))%(n*len(grid))//n][place%n] for _n in range(len(grid[0]))] for _m in range(len(grid))]
#задача
@zen_of_python
🍾1
Задача о расстоянии между массивами
На входе два массива
Расстояния определяется как количество элементов
Для проверки:
Объяснение:
#задача
@zen_of_python
На входе два массива
arr1
и arr2
и целое число d
. Напишите функцию find_arr_distance()
, которая вернёт расстояние между двумя массивами. Расстояния определяется как количество элементов
arr1[i]
таких, что не существует элемента arr2[j]
, где arr1[i] - arr2[j]| <= d
.Для проверки:
>>> arr1 = [4,5,8],
>>> arr2 = [10,9,1,8]
>>> d = 2
>>> find_arr_distance(arr1, arr2, d)
... 2
Объяснение:
Для arr1[0]=4 имеем:
|4-10|=6 > d=2
|4-9|=5 > d=2
|4-1|=3 > d=2
|4-8|=4 > d=2
Для arr1[1]=5 имеем:
|5-10|=5 > d=2
|5-9|=4 > d=2
|5-1|=4 > d=2
|5-8|=3 > d=2
Для arr1[2]=8 имеем:
|8-10|=2 <= d=2
|8-9|=1 <= d=2
|8-1|=7 > d=2
|8-8|=0 <= d=2
#задача
@zen_of_python
❤1
Задача о Рокфеллере
Вам дан тензор с суммами на счетах, где account[i][j] — это сумма денег, которую имеет i-й клиент в j-м банке.
Напишите функцию find_richest(), которая найдет Рокфеллера — самого богатого клиента.
Для проверки:
#задача
@zen_of_python
Вам дан тензор с суммами на счетах, где account[i][j] — это сумма денег, которую имеет i-й клиент в j-м банке.
accounts = [[1,2,5],[3,6,1]]
У 1-го клиента два счета на сумму 4 (1 + 3)
У 2-го — 8 (2 + 6)
У 3-го — 6 (5 + 1)
Напишите функцию find_richest(), которая найдет Рокфеллера — самого богатого клиента.
Для проверки:
>>> accounts = [[1,2,5],[3,6,1]]
>>> find_richest(accounts)
... 2
#задача
@zen_of_python
🔥4👍1🍌1