public static List<Integer> subSequenceTags(List<String> targetList, List<String> availableTagList){
                List<Integer> ret = new ArrayList<>();
                Map<String, Integer> map = new HashMap<>();
                for(String tag : targetList){
                        String tg = tag.toLowerCase();
                        map.put(tg, map.getOrDefault(tg, 0) + 1);
                }
                int start = 0, end = 0, counter = targetList.size(), retStart = 0, retEnd = availableTagList.size();. from: 1point3acres.com/bbs 
                while(end < availableTagList.size()){
                        String cur =  availableTagList.get(end++).toLowerCase();
                        map.put(cur, map.getOrDefault(cur, 0) - 1);
                        if(map.getOrDefault(cur, 0) >= 0) counter--;
                        while(counter==0){
                                if(end-start < retEnd-retStart+1) {
                                        retStart = start;
                                        retEnd = end-1;
                                }. 1point 3acres 璁哄潧
                                cur = availableTagList.get(start++).toLowerCase();
                                map.put(cur, map.getOrDefault(cur, 0) + 1);
                                if(map.get(cur) > 0) counter++;. 鐣欏鐢宠璁哄潧-涓€浜╀笁鍒嗗湴
                        }
                }
                ret.add(retStart); ret.add(retEnd);
                return ret;
        }

results matching ""

    No results matching ""