Помогите с задачей! Точнее подскажите с чего начать!

243
02 апреля 2017, 02:37

Есть задача, в которой сказано, что нужно написать программу, которая находит в заданном телефонном номере подстроку максимальной длины, соответствующую слову из словаря. 2 — ABC, 3 — DEF, 4 — GHI, 5 — JKL, 6 — MNO, 7 — PQRS, 8 — TUV, 9 — WXYZ . Все сделать на Java.

Answer 1

Слишком длинно для комментария...

Для начала - определиться с длиной телефонного номера.

Затем, раздельно для каждой группы букв:

  1. Выбрать из словаря слова соответствующей длины, которые начинаются с букв данной группы
  2. Оцифровать их.
  3. Для чисел одинаковой длины отбросить первую цифру, после чего отсортировать по возрастанию.
  4. Устранить повторы чисел
  5. Дать каждому массиву уникальное имя.

Расшифровку номеров вести бинарным поиском по соответствующим массивам, начиная с массива наибольшей длины.

Answer 2

Предлагаю пойти от обратного:

  • Словарь отсортирован по убыванию длины
  • Перебираете все слова из словаря
  • Переводите каждое слово в число
  • Ищем вхождение числа в исходном номере
READ ALSO
Поиск с учетом нескольких условий

Поиск с учетом нескольких условий

Есть текстовые поля для номера, сотрудника, субъекта, улицы, дома, некоторые из них могут быть пустые, тогда надо искать по тем которые заполненыЕсть...

244
Обрезка строки в java

Обрезка строки в java

ПриветствуюЕсть строка - "добрый день[флажек]дорогие друзъя

393
Как сделать разделители меню серыми?

Как сделать разделители меню серыми?

Подскажите как сделать разделители меню серымиВот как сейчас: Вот как необходимо сделать: Спасибо за ответ!

250
Присвоение значения в тип long

Присвоение значения в тип long

Почему при присвоении long n = 10 000 000 000 000; IntelliJ IDEA выдает ошибку:

219