Klmn2870
03.07.2022 05:44

Сколько проверок будет выполнено при линейном поиске в массиве из 50 элементов максимального?

1. 48
2.51
3.49
4.50

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Hiccjhcvkjxg
04.08.2020 19:21

Объяснение: Если я неправильно поняла задачу или ты что-то не понимаешь из этого - пиши, порешаем. =)

1. Создала функцию в которой объявила переменную chars(ch) и задала ей все символы английского алфавита, умножила их на 2, тк как это самый лёгкий вариант, который смогла придумать. После добавила к этой переменной upper(), чтоб работало и на верхний регистр.

2. Если не объяснять всё буквально, то нашла по отдельности каждый символ в ch и прибавила k из условия, если не находит - значит этот символ не является буквой английского алфавита.

Python Code:

def CaesarCipher(S, k):

   ch = ''*2; ch+=ch.upper()

   return ''.join([ch[ch.index(x)+k] if x in ch else x for x in S])

S=input()

print(CaesarCipher(S, 3))


Питон Шифр ЦезаряВ шифре Цезаря каждый символ, являющийся буквой латинского алфавита, заменяется на
0,0(0 оценок)
Ответ:
sassshaaa
01.02.2021 08:28

В этой задаче непонятно, могут ли числа быть отрицательными.

Предположим, что нет, т.к. указано только ограничение сверху (числа меньше или равны 10000).

Могу предложить такой алгоритм:

1. Считаем данные в массив (назовем его original).

2. Создадим еще один массив (пока заполненный нулями) на 10001 элемент (учитываем 0). Его назовем counter.

3. Будем идти по массиву original, брать каждое число и прибавлять 1 в соответствующую ячейку counter, номер которой равен текущему числу.

Пример:

Пусть в нулевой ячейке массива original лежит число 100. Тогда прибавляем 1 к значению сотой ячейки counter. В следующей ячейке original пусть лежит 135. Тогда идем в 135-ую ячейку массива counter и прибавляем 1.

4. В итоге мы будем знать, сколько каких дано элементов.

5. Надо найти у какого значения не хватает пары. "Не хватает пары" в данном случае будет означать, что в соответствующей ячейке counter будет лежать нечетное число (если числа не могут повторяться, то это будет число 1, а в остальных ячейках 2; но мы не можем быть уверены, что числа не повторяются, поэтому решим в более общем виде).

6. Поэтому пройдемся по массиву

counter, проверяя каждую ячейку на четность. Только встречаем нечетную ячейку, сразу выводим ее номер и прекращаем выполнение программы (она такая одна).

Если все-таки там могут быть отрицательные числа (а ограничение по модулю), то надо просто ввести еще один массив negative_counter (10001 ячейка). Ноль в нем надо игнорировать (уже подсчитывается в обычном counter вместе с положительными числами), а при проходе массива original делать сначала проверку на положительное/отрицательное значение и при обращении к номеру ячейки negative_counter через значение текущей ячейки original не забывать ставить минус или модуль (будет что-то вроде negative_counter[-original[i]] += 1 или negative_counter[abs(original[i])] += 1). Потом пройти два массива (по очереди) с проверкой на четность. При выводе тоже не забыть про минус, если без пары окажется отрицательное число.

Плюсы алгоритма: он линейный.

Минусы: создаем лишний массив, т.е. используем лишнюю память.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота