fork download
  1. import java.util.HashSet;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5.  
  6. public static void main(String[] args) {
  7. Scanner scanner = new Scanner(System.in);
  8. int n = scanner.nextInt(); // 读取数组的大小
  9. int[] arr = new int[n];
  10.  
  11. for (int i = 0; i < n; i++) {
  12. arr[i] = scanner.nextInt(); // 读取数组的元素
  13. }
  14.  
  15. // 判断是否存在两个子数组的和相等
  16. System.out.println(findSubsetSum(arr));
  17. }
  18.  
  19. // 查找是否存在两个子数组的和相等
  20. public static int findSubsetSum(int[] arr) {
  21. HashSet<Integer> sumSet = new HashSet<>();
  22. int currentSum = 0;
  23.  
  24. for (int i = 0; i < arr.length; i++) {
  25. currentSum += arr[i]; // 累加当前的和
  26.  
  27. // 如果该和已经出现过,则返回2
  28. if (sumSet.contains(currentSum)) {
  29. return 2;
  30. }
  31. sumSet.add(currentSum);
  32. }
  33.  
  34. // 如果没有重复的和,返回1
  35. return 1;
  36. }
  37. }
  38.  
Success #stdin #stdout 0.18s 56552KB
stdin
4
22 11 66 99
stdout
1