Advertisement
Kuroshi1

Untitled

Feb 1st, 2022
990
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.92 KB | None | 0 0
  1.     public String pattern2() {
  2.         if (words.isEmpty()) {
  3.             throw new IllegalStateException();
  4.         }
  5.  
  6.         List<String> patterns = new ArrayList<>();
  7.  
  8.         for (String word : words) {
  9.             patterns.add(wordPattern(word));
  10.         }
  11.         //System.out.println(patterns);
  12.         //System.out.println(mostCommon(patterns));
  13.         return mostCommon(patterns);
  14.     }
  15.  
  16. public int record2(char guess) {
  17.         if (guessesLeft() < 1 || words.isEmpty()) {
  18.             throw new IllegalStateException();
  19.         } else if (guesses.contains(guess)) {
  20.             throw new IllegalArgumentException();
  21.         }
  22.  
  23.         int count = 0;
  24.         guesses.add(guess);
  25.         String pattern = pattern();
  26.         Iterator<String> itr = words.iterator();
  27.  
  28.         while (itr.hasNext()) {
  29.             if (!wordPattern(itr.next()).equals(pattern)) {
  30.                 itr.remove();
  31.             }
  32.         }
  33.  
  34.         for (int i = 0; i < pattern.length(); i++) {
  35.             if (pattern.charAt(i) == guess) {
  36.                 count ++;
  37.             }
  38.         }
  39.         if (count == 0) {
  40.             guessesLeft -= 1;
  41.         }
  42.         return count;
  43.     }
  44.  
  45. private String mostCommon2(List<String> patterns) {
  46.         int max = 0;
  47.         Map<String, Integer> map = new TreeMap<>();
  48.  
  49.         for (String pattern : patterns) {
  50.             if (!map.containsKey(pattern)) {
  51.                 map.put(pattern, 1);
  52.             } else {
  53.                 map.put(pattern, map.get(pattern) + 1);
  54.             }
  55.             if (map.get(pattern) > max) {
  56.                 max = map.get(pattern);
  57.             }
  58.         }
  59.         for (String pattern : map.keySet()) {
  60.             if (map.get(pattern) == max) {
  61.                 return pattern;
  62.             }
  63.         }
  64.         return null; // don't necessarily want to have to do this ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  65.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement