所以据我所知,Java集中不允许重复.为什么然后在这段代码片段中代码似乎试图考虑重复?
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);
}
Run Code Online (Sandbox Code Playgroud)
为什么不在for循环中使用keywordsToCover.put(keyword,1)?
你是对的,这个电话永远keywordsToCover.containsKey(keyword)不会是真的。似乎编写代码的人都不明白 a 的目的是什么,或者他们错误地这样做了(尽管这不太可能)。因此只需调用就足够了。SetkeywordsToCover.put(keyword,1)