题目来源:
leetcode题目,网址:2395. 和相等的子数组 - 力扣(LeetCode)
解题思路:
遍历数组,求出所有长度为2的子数组的和,查看其中是否有相等的数即可。
解题代码:
class Solution {
public boolean findSubarrays(int[] nums) {
boolean res=false; //默认不存在
Set<Integer> set=new HashSet<>();
for(int i=0;i<nums.length-1;i++){
int sum=nums[i]+nums[i+1];
if(set.contains(sum)){
res=true;
break;
}else{
set.add(sum);
}
}
return res;
}
}
总结:
官方题解使用的也是哈希表,但他是根据 set.add() 函数的返回值来判断是否已存在该数。
set.add() 函数返回类型为 boolean ,当 set 中已存在该数时返回 false 否则返回true。