Найти в Дзене

❓Рубрика: Вопросы на собеседовании #вопросынасобесах №112

❓Рубрика: Вопросы на собеседовании #вопросынасобесах №112 На позицию: Программист 1С Вопрос: Имеется неупорядоченный одномерный массив целых чисел M. Предложите алгоритм нахождения пары элементов M[i] и M[j], сумма которых равна заранее заданному числу X. Не использовать метод Найти. Например: X = 10 M = [4; 8; 12; 9; 7; 6; 11; -2; 2] Результат: 4, 6 8, 2 12, -2 Ответ: &НаСервереБезКонтекста Процедура КомандаНайтиНаСервере() Мас = Новый Массив(); Мас.Добавить(4); Мас.Добавить(8); Мас.Добавить(12); Мас.Добавить(9); Мас.Добавить(7); Мас.Добавить(6); Мас.Добавить(11); Мас.Добавить(-2); Мас.Добавить(2); НайтиПары(Мас, 10); КонецПроцедуры &НаСервереБезКонтекста Процедура НайтиПары(М, Н) ХТ = Новый Соответствие(); Для Каждого К Из М Цикл Дельта = Н - К; Если ХТ.Получить(К) <> Неопределено Тогда Сообщить(Строка(К) + " : " + Строка(Дельта)); Иначе ХТ.Вставить(Дельта, К); КонецЕсли КонецЦикла; КонецПроцедуры ❗️ Есть что добавить, пиши в комментариях. Подпишись на канал

❓Рубрика: Вопросы на собеседовании #вопросынасобесах №112

На позицию: Программист 1С

Вопрос:

Имеется неупорядоченный одномерный массив целых чисел M. Предложите алгоритм нахождения пары элементов M[i] и M[j], сумма которых равна заранее заданному числу X. Не использовать метод Найти.

Например:

X = 10

M = [4; 8; 12; 9; 7; 6; 11; -2; 2]

Результат:

4, 6

8, 2

12, -2

Ответ:

&НаСервереБезКонтекста

Процедура КомандаНайтиНаСервере()

Мас = Новый Массив();

Мас.Добавить(4);

Мас.Добавить(8);

Мас.Добавить(12);

Мас.Добавить(9);

Мас.Добавить(7);

Мас.Добавить(6);

Мас.Добавить(11);

Мас.Добавить(-2);

Мас.Добавить(2);

НайтиПары(Мас, 10);

КонецПроцедуры

&НаСервереБезКонтекста

Процедура НайтиПары(М, Н)

ХТ = Новый Соответствие();

Для Каждого К Из М Цикл

Дельта = Н - К;

Если ХТ.Получить(К) <> Неопределено Тогда

Сообщить(Строка(К) + " : " + Строка(Дельта));

Иначе

ХТ.Вставить(Дельта, К);

КонецЕсли

КонецЦикла;

КонецПроцедуры

❗️ Есть что добавить, пиши в комментариях.

Подпишись на канал