1.Binary_search.py: Пример реализации бинарного поиска
2.Binary_search_task2_school.py: В управляющий совет школы входят родители, учителя и учащиеся школы, причем родителей должно быть не меньше одной трети от общего числа членов совета. В настоящий момент времени в совет входит N человек, из них K родителей. Определите сколько родителей нужно дополнительно ввести в совет, чтобы их число стало составлять не менее трети от числа членов совета.
3.Binary_search_task3.py: Юра решил подготовиться к собеседованию в Яндекс. Он выбрал на сайте leetcode N задач. В первый день Юра решил K задач, а в каждый следующий день Юра решал на одну задачу больше, чем в предыдущий день. Определите, сколько дней уйдет у Юры на подготовку к собеседованию.
4.Chess_board.py: На шахматной доске NxN находятся M ладей (ладья бьет клетки на той же горизонтали или вертикали до ближайшей занятой). Определите, сколько пар ладей бьют друг друга. Ладьи задаются парой чисел i и j, обозначающих координаты чисел. 1 <= N <= 10^9, 0 <= M <= 10^5
5.Double_pointer_task1.py: Дана отсортированная последовательность чисел длиной N и число K. Найти количество пар чисел A, B, таких что B - A > K
6.Find_A_plus_B_equals_X.py: Дана последовательность положительных чисел длиной N и число X. Нужно найти два различных числа A и B из последовательности, таких что A+B=X или вернуть пару 0, 0, если такой пары чисел нет
7.Find_first_occurence.py: Дана последовательность целых чисел длиной N Найти первое (левое) вхождение положительного числа Х в нее или вывести -1, если число Х не встречалось
8.Find_last_occurence.py: Дана последовательность целых чисел длиной N Найти первое (левое) вхождение положительного числа Х в нее или вывести -1, если число Х не встречалось
9.Find_num_of_segments_with_zero_sum.py: Дана последовательность чисел длиной N. Необходимо найти количество отрезков с нулевой суммой.
10.Find_num_of_zeros_on_half_interval_prefix_sum.py: Дана последовательность чисел длиной N и M запросов
Запросы: Сколько нулей на полуинтервале [L,R)
[0,1,2,3,0,0,0,4,0,3,2,0,1,0,0]
Ans: 8
11.Find_the_shortest_words.py: Дана последовательность слов. Вывести все самые короткие слова через пробел.
12.Finding_the_most_frequent_character.py: Дана строка в кодировке UTF-8 Найти самый часто встречающийся в ней символ.
13.First_num_from_second_by_permuting_nums.py: Дано два числа X и Y без ведущи нулей. Необходимо проверить, можно ли получить первое из второго перестановкой цифр.
14.Group_words_by_common_letters.py: Сгруппировать слова по общим буквам Sample Input: ["eat", "tea","tan","ate","nat","bat"] Sample Output: [["eat", "tea","ate"],["tan","nat"],["bat"]]
15.Hash.py: Создать мультимножество. Используем хешфункцию F(x) = x % setsize Так, для 27 хешномер будет F(27) = 27 % 10 = 7
16.Histogram.py: Дана строка S. Выведите гистограмму как в примере (коды символов отсортированы). S = Hello, world! Вывод программы:
#
##
##########
!,Hdelorw
17.Max_online_on_site.py: Сайт посетило N человек, для каждого известно время входа на сайт In, и время выхода с сайта Out. Считается, что человек был на сайте с момента In по Out включительно. Определите, какое максимальное количество человек было на сайте одновременно.
18.Merge_two_seq_by_double_pointer.py: Даны две отсортированные последовательности чисел (длиной N и M соответственно). Необходимо слить их в одну отсортированную последовательность.
19.Missing_letter.py: Дан список из N слов (кортеж), длина каждого не превосходит K. В записи каждого из M слов текста (каждое длиной до К) может быть пропущена одна буква. Для каждого слова сказать, входит ли оно (возможно с одной пропущенной буквой) в словарь (кортеж).
20.Number_of_water_blocks.py: Игра PitCraft происходит в двумерном мире, который состоит из блоков размером 1 на 1 метр. Остров игрока представляет собой набор столбцов различной высоты, состоящих из блоков камня и окруженный морем. Над островом прошёл сильный дождь, который заполнил водой все низины, а не поместившаяся в них вода стекла в море, не увеличив его уровень. По ландшафту острова определите, сколько блоков воды осталось после дождя в низинах на острове. На вход программе подается список с высотой столбиков.
21.RLE.py: Дана строка, состоящая из букв A-Z: AAAABBBCCXYZDDDDEEEFFFAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBB Нужно написать функцию RLE, которая на выходе даст строку вида: A4B3C2XYZD4E3F3A6B28 Если символ встречается 1 раз, он остается без изменений, если символ повторяется более одного раза, к нему добавляется количество повторений
22.Sequence_max.py: Найти максимальное значение в последовательности
23.Sequence_max2.py: Дана последовательность чисел длинной N (N>1). Найти максимальное число в последовательности и второе по величине число (такое, которое будет максимальным, если вычеркнуть из последовательности одно максимальное число.
24.Sequence_min_even_number.py: Дана последовательность целых чисел длинной N (N>1) Найти минимальное четное число в последовательности или вывести -1, если такого не существует
25.Sequence_sum.py: Вывести сумму последовательности чисел в строке
26.Sub_ranges.py: Дан список интов, повторяющихся элементов в списке нет. Нужно преобразовать это множество в строку, сворачивая соседние по числовому ряду числа в диапазоны.