кодесурса

Упражнения на Java: проверка строки по указанному шаблону

script1adsense2code
script1adsense3code

Java Basic: упражнение 199 с решением

Напишите программу на Java, чтобы проверить, соответствует ли строка заданному шаблону.

Пример шаблона:
Данный шаблон = "xyyx", str = "красный черный черный красный", верните true.
Данный шаблон = "xyyx", str = "красный черный черный зеленый", вернуть false.
Данный шаблон = "xxxx", str = "красный черный черный красный", вернуть false.
Данный шаблон = "xxxx", str = "красный красный красный красный", верните true.

Пример решения:

Java-код:

import java.util.*;
public class Solution {
 public static void main(String[] args) {
  String str ="red black black red";
  //String str ="red red red red"; 
  String pattern ="xyxx";
  //String pattern ="xxxx";
  System.out.print("Is the string and pattern matched? " + word_Pattern_Match(pattern, str));
 }
 public static boolean word_Pattern_Match(String pattern, String str) {
  char[] word_pattern = pattern.toCharArray();
  String[] words = str.split(" ");
  Map < Character, String > map = new HashMap < > ();
  Set < String > set = new HashSet < > ();
  for (int i = 0; i < word_pattern.length; i++) {
   if (map.containsKey(word_pattern[i])) {
    if (!map.get(word_pattern[i]).equals(words[i])) {
     return false;
    }
    continue;
   }
   if (set.contains(words[i])) {
    return false;
   }
   map.put(word_pattern[i], words[i]);
   set.add(words[i]);
  }
  return true;
 }
}

Пример вывода:

 Соответствует ли строка и шаблон? ложный

Блок - схема:

«Блок-схема:

Редактор кода Java:

Компания: Uber Dropbox

Внесите свой код и комментарии через Disqus.

Previous: написать программу на Java, чтобы получить позицию заданного простого числа.
Далее: Напишите Java-программу для удаления повторяющихся букв и упорядочения в лексикографическом порядке из заданной строки, которая содержит только строчные буквы.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code