Поиск

Найдена 1 статья по слову "алгоритмы"

Поиск недостающего числа в массиве

Дан массив из N чисел. В нём находятся случайные числа из диапазона [0..N]. Все числа отличаются. При помощи одного цикла нужно найти, какого числа из диапазона [0..N] не хватает в массиве.

Логика следующая:

Мы должны получить два числа - сумму всех чисел, которые должны быть в массиве, и сумму чисел, которые есть в массиве. Затем, просто вычитаем из первой сумму вторую и получаем число, которого нет.

Код на Python:

В данном коде сделан генератор массива (condition) и решение (solution).

#!/usr/bin/python

# condition
import random
N = 10
source_array = list(range(0, N+1))
random.shuffle(source_array)
source_array.pop()
print source_array

# solution
current_sum = 0
full_sum = 0
inc_value = 1
for x in source_array:
    current_sum += x
    full_sum += inc_value
    inc_value += 1
found_value = full_sum - current_sum
print "Found value " + str(found_value)
python алгоритмы