Алгоритмическая задача: найти и вернуть единственную строку, уникальную по набору букв без учёта регистра, пробелов и повторяющихся символов.

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Вариант для Unicode-букв с приведением регистра:

function findUniqueString(strings) {
  const key = s => [...new Set(s.normalize('NFC').toLowerCase().match(/\p{L}/gu) ?? [])].sort().join('');
  const keys = strings.map(key);
  const counts = new Map();
  for (const k of keys) counts.set(k, (counts.get(k) ?? 0) + 1);
  const indexes = keys.flatMap((k, i) => counts.get(k) === 1 ? [i] : []);
  if (indexes.length !== 1) throw new Error('Нужна ровно одна уникальная строка');
  return strings[indexes[0]];
}

Здесь небуквенные символы игнорируются; это нужно согласовать с условием. Сортировка множества обеспечивает одинаковый ключ независимо от порядка и повторений букв.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее