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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With