Matt :
So to my knowledge duplicates are not allowed in a Java set. Why then in this code snippet does the code seem to try to take account of duplicates?
public static Subarray findSmallestSubarrayCoveringSet(List<String> paragraph,Set<String> keywords) {
Map<String, Integer> keywordsToCover = new HashMap<>();
for (String keyword : keywords) {
keywordsToCover.put(keyword,
keywordsToCover.containsKey(keyword)? keywordsToCover.get(keyword) + 1: 1);
}
Why not just have keywordsToCover.put(keyword,1) inside the for loop?
Ousmane D. :
You're correct here, the call keywordsToCover.containsKey(keyword)
would never be true. It just seems that whoever wrote the code didn't understand what is the purpose of a Set
or they have mistakenly done so (though that's unlikely). thus just the call keywordsToCover.put(keyword,1)
would suffice.
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=470140&siteId=1