题解 | #数组分组#
数组分组
https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = in.nextInt();
}
System.out.println(canSum(nums, 0, 0, 0));
}
public static boolean canSum(int[] nums, int index, int sum1, int sum2) {
if (index == nums.length) {
return sum1 == sum2;
}
if (nums[index] % 5 == 0) {
return canSum(nums, index + 1, sum1 + nums[index], sum2);
} else if (nums[index] % 3 == 0) {
return canSum(nums, index + 1, sum1, sum2 + nums[index]);
} else {
if (canSum(nums, index + 1, sum1 + nums[index], sum2)) {
return true;
}
if (canSum(nums, index + 1, sum1, sum2 + nums[index])) {
return true;
}
}
return false;
}
}
