Leetcode - Substring with Concatenation of All Words

My code:

public class Solution {
    public List<Integer> findSubstring(String s, String[] words) {
        List<Integer> ret = new ArrayList<Integer>();
        if (s == null || s.length() == 0 || words == null || words.length == 0) {
            return ret;
        }
        
        int L = words[0].length();
        Map<String, Integer> map = new HashMap<String, Integer>();
        for (int i = 0; i < words.length; i++) {
            if (!map.containsKey(words[i])) {
                map.put(words[i], 1);
            }
            else {
                map.put(words[i], map.get(words[i]) + 1);
            }
        }
        
        for (int i = 0; i <= s.length() - words.length * L; i++) {
            int j = i;
            int c = 0;
            Map<String, Integer> copy = new HashMap<String, Integer>(map);
            while (c < words.length) {
                String temp = s.substring(j, j + L);
                if (copy.containsKey(temp)) {
                    int times = copy.get(temp);
                    if (times <= 0) {
                        break;
                    }
                    copy.put(temp, times - 1);
                    c++;
                    j = j + L;
                }
                else {
                    break;
                }
            }
            if (c == words.length) {
                ret.add(i);
            }
        }
        
        return ret;
    }
}

這道題目其實沒什么意思。暴力解法。
很像 minimum window substring

Anyway, Good luck, Richardo! -- 10/09/2016

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容