Найти в Дзене
10,2 тыс подписчиков

📌 Дана последовательность, в которой находятся рандомные числа в произвольном порядке, в ней находятся только парные элементы.


Пример: 2 1 5 5 2 1

К ним добавляют элемент в произольное место
Например: 2 3 1 5 5 2 1

Найти этот уникальный элемент используя только один цикл
=========================================
(сложность программ - линейная)

import random
import numpy as np

def merge(lst1, lst2):
yield from lst1
yield from lst2

def shuffle_list(n: int):
lst = np.arange(1, n)
np.random.shuffle(lst)
return lst

def random_insert(lst, item):
lst.insert(random.randrange(len(lst)+1), int(item))

def find_item(lst: list):
init_lst = []
for item in lst:
if lst.count(item) == 1:
init_lst.append(item)
return init_lst

n = int(input("n > "))
a_list = shuffle_list(n)
b_list = shuffle_list(n)
c_list = list(merge(a_list, b_list))
e = input("e > ")
random_insert(c_list, e)
print(find_item(c_list))

Это громоздкое решение. Пишите свое решение в комментариях👇

Около минуты
322 читали