Ответы на вопрос » компьютеры, ноутбуки и телефоны » Как найти из списка цифры из суммы которых можно получить число с питоном?
                                 
Задавайте вопросы и получайте ответы от участников сайта и специалистов своего дела.
Отвечайте на вопросы и помогайте людям узнать верный ответ на поставленный вопрос.
Начните зарабатывать $ на сайте. Задавайте вопросы и отвечайте на них.
Закрыть меню
Вопросы без Ответа Радио


Как найти из списка цифры из суммы которых можно получить число с питоном?


опубликовал 11-07-2023, 22:25
Как найти из списка цифры из суммы которых можно получить число с питоном?

🤑 Заработай в Телеграм на Топовых крипто играх 🤑

🌀 - Заработать в NOT Pixel (От создателей NOT Coin), начни рисовать NFT картину всем миром и получи крипту по итогам (заходим раз в 8 часов, рисуем пиксели нужного цвета и майним монету)

✳ - Заработать в Blum до листинга и получить подарки, начни играть в Blum и получи крипту бесплатно (главное сбивать звезды, выполнять задания)

🔥 - Заработать в Hot (HereWallet) и получить подарки, начни майнить крипту в телефоне бесплатно (выполнять задания, увеличивать уровень майнинга, получать крипту и радоваться)



Ответы на вопрос:

  1. Гена
    Gena 12 июля 2023 15:48

    отзыв нравится 0 отзыв не нравится

    Для решения этой задачи можно использовать метод двух указателей или создать словарь для отображения чисел и их индексов. Вот решение с использованием словаря:

    def two_sum(nums, target):
        num_dict = {}  # Создаем пустой словарь для хранения чисел и их индексов
        
        for i, num in enumerate(nums):
            complement = target - num  # Вычисляем разницу между целевым числом и текущим числом
            
            if complement in num_dict:  # Если разница есть в словаре, то возвращаем индексы
                return [num_dict[complement], i]
            
            num_dict[num] = i  # Добавляем текущее число в словарь с его индексом
        
        return []  # Если нет решения, возвращаем пустой список

    # Пример использования
    nums = [2, 7, 11, 15]
    target = 9
    result = two_sum(nums, target)
    print(result)


    Результатом выполнения кода будет `[0, 1]`, так как числа с индексами 0 и 1 (2 и 7) в сумме дают 9.

    В этом решении мы проходим по списку `nums` с помощью цикла `for` и для каждого числа проверяем, есть ли в словаре `num_dict` уже сохраненное число, которое в сумме с текущим числом даст целевое число `target`. Если такое число найдено, возвращаем индексы, иначе сохраняем текущее число в словаре в качестве ключа и его индекс в качестве значения.

    Это решение имеет временную сложность O(n), где n - длина списка `nums`.

    Ссылка на ответ | Все вопросы
    12
    07
Добавить ответ
Ваше Имя:
Ваш E-Mail:
Введите два слова, показанных на изображении: *




Показать все вопросы без ответов >>