讨论/题目交流/🏆 第 184 场力扣周赛/
🏆 第 184 场力扣周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛

image.png

3 分 - 数组中的字符串匹配
4 分 - 查询带键的排列
5 分 - HTML 实体解析器
7 分 - 给 N x 3 网格图涂色的方案数

展开讨论

第一次玩周赛,为啥木有运行时间
这是我的第三题

class Solution {
    static HashMap hashMap = new HashMap<>();
    static{
        hashMap.put("&quot;", '\"');
        hashMap.put("&apos;", '\'');
        hashMap.put("&amp;", '&');
        hashMap.put("&gt;", '>');
        hashMap.put("&lt;", '<');
        hashMap.put("&frasl;", '/');
    }
    public static String entityParser(String text) {
        StringBuffer buf = new StringBuffer(text);
        char[] cText = buf.toString().toCharArray();
        int len = 0;
        for (int i = 0; i < cText.length; i++) {
            if(cText[i] == '&'){
                int end = i;
                for (int j = 1; j <= 6 ; j++) {
                    if(end + j >= cText.length) break;
                    if(cText[end + j] == ';'){
                        String target = buf.substring(i - len,  end + j + 1 - len);
                        if(!hashMap.containsKey(target)) break;
                        buf.replace(i - len, end + j + 1 - len, "" + (Character) hashMap.get(target));
                        len +=  target.length() - ("" + (Character) hashMap.get(target)).length();
                    }
                }
            }
        }

        return buf.toString();
    }
}
展开全部 46 讨论