题解 | #某云ES倒排索引#
某云ES倒排索引
https://www.nowcoder.com/practice/7ba676741a3c4920b7846476be520779
如下
public ArrayList<Integer> invertedIndex(ArrayList<Integer> ID, ArrayList<String> content, String word) { Map<String, ArrayList> indexMap = new HashMap<>(); for (int i = 0; i < content.size(); i++) { int index = ID.get(i); String[] s = content.get(i).split(" "); for (String s1 : s) { ArrayList<Integer> list = new ArrayList<>(); if (indexMap.containsKey(s1)) { //之前有 list = indexMap.get(s1); if (!list.contains(index)) { list.add(index); } }else { list.add(index); } indexMap.put(s1, list); } } if (indexMap.containsKey(word)) { return indexMap.get(word); } return new ArrayList<>(); }