力扣819:最常见的单词(map,set)

Posted on 2022-04-17 11:45  你错过了  阅读(57)  评论(0编辑  收藏  举报
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;

public class _819 {

    public static void main(String[] args) {
        String arr[] = { "" };
        String s = "Bob";
        System.out.println(mostCommonWord(s, arr));
    }

    public static String mostCommonWord(String s, String[] arr) {
        s = s.toLowerCase();
        Set<String> set = new HashSet();
        Map<String, Integer> map = new HashMap<>();
        for (String i : arr) {
            set.add(i);
        }
        StringBuffer str = new StringBuffer(s);
        String st = "";
        for (int i = 0; i < str.length(); i++) {

            if ((str.charAt(i) >= 'a' && str.charAt(i) <= 'z')) {
                st += str.charAt(i);
                if (st.length() == str.length()) {
                    return st;
                }
                if (i == str.length() - 1) {
                    if (st.length() != 0) {
                        if (!set.contains(st) && st != null) {
                            if (map.containsKey(st)) {
                                map.put(st, map.get(st) + 1);
                            } else {
                                map.put(st, 1);
                            }
                        }
                        st = "";
                    }
                }
            } else {
                if (st.length() != 0) {
                    if (!set.contains(st) && st != null) {
                        if (map.containsKey(st)) {
                            map.put(st, map.get(st) + 1);
                        } else {
                            map.put(st, 1);
                        }
                    }
                    st = "";
                }
            }
        }
        String ss = "";
        int max = 0;
        for (String i : map.keySet()) {
            if (map.get(i) > max) {
                max = map.get(i);
                ss = i;
            }
        }
        return ss;
    }
}// mostCommonWord