Код hackerrank продолжает выдавать неверный результат [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Код hackerrank продолжает выдавать неверный результат [закрыто]

Сообщение Anonymous »

Мой код продолжает выдавать неправильные результаты вместо примера вывода с примерами входных данных

Код: Выделить всё

3 3
4
15
2
11
15
11
Я попробовал закодировать решение и исправить его, но результат все равно тот же:
Код:

Код: Выделить всё

"""
This function solves a test case.

Parameters:
k  : int                      - number of transmission frequencies
n  : int                      - number of bluetooth devices
fs : array-like               - array of size (k,) with a list of transmission
frequencies
ms : array-like               - array of size (n,) with a list of bluetooth device signal
frequencies

Returns a list of integers of size (n,) indicating the answers for each bluetooth devices
"""
def solve(k,n,fs,ms):
results = []
for m in ms:
# Find the index of the closest transmission frequency
closest_idx = [i for i, f in enumerate(fs) if abs(f - m) == min(abs(f - m) for f in fs)]

# Handle multiple closest frequencies: choose the lowest
if len(closest_idx) > 1:
closest_idx = min(closest_idx)

# If a valid index is found, append the corresponding transmission frequency to the results
if closest_idx is not None:
results.append(fs[closest_idx])
else:
# Handle the case where no closer frequency is found
results.append(-1)  # Or another value to indicate no match

return results

def main():
k,n = list(map(int,input().split(" ")))

fs = sorted([int(input()) for i in range(k)])
ms = [int(input()) for i in range(n)]

ans = solve(k,n,fs,ms)

print("\n".join(list(map(str,ans))))

if __name__ == "__main__":
main()
Необычно новый протокол передачи данных Bluetooth тестируется и внедряется. Передатчик устройства Bluetooth должен быть настроен на определенные частоты. Устройству задано K частот, на которых он может передавать некоторые сигналы. Устройство Bluetooth для нового протокола может устанавливать связь с определенной частотой передаваемого сигнала fᵢ тогда и только тогда, когда частота устройства mᵢ больше или равна fᵢ.
У вас есть N устройств Bluetooth для тестироваться по одному. Для каждого устройства Bluetooth, представленного в зоне тестирования, все K частот будут работать одновременно. Вы должны подсчитать, сколько частот из K частот будет подтверждать каждое устройство.
Формат ввода
Ввод начинается со строки, содержащей два целых числа, разделенных пробелами. и , указывающие количество частот и количество устройств Bluetooth соответственно.
K следуют строки, каждая из которых содержит одно целое число fᵢ , указывающий частоту i сигнала передачи, как описано в условии задачи.
N строк, каждая из которых содержит один целое число mⱼ, указывающее частоту входа jth устройства в зону тестирования.
Ограничения
1 ≤ K, N ≤ 3 * 10⁵
1 ≤ fᵢ, mⱼ ≤ 10⁹
Формат вывода
Для каждого из N устройств Bluetooth выведите строку, содержащую одно целое число, указывающее, на скольких частотах K они могут установить связь.>

Подробнее здесь: https://stackoverflow.com/questions/786 ... ong-output
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»