Untitled
unknown
plain_text
a year ago
970 B
12
Indexable
public class PartitionArrayEqualSum {
public static boolean canPartition(int[] nums) {
int totalSum = 0;
for (int num : nums) {
totalSum += num;
}
// If total sum is odd, we cannot split the array into two equal halves
if (totalSum % 2 != 0) {
return false;
}
int target = totalSum / 2;
int prefixSum = 0;
for (int i = 0; i < nums.length - 1; i++) { // Ensure non-empty subarrays
prefixSum += nums[i];
if (prefixSum == target) {
return true;
}
}
return false;
}
public static void main(String[] args) {
int[] nums = {1, 2, 3, 5};
System.out.println("Can partition: " + canPartition(nums)); // Output: true
int[] nums2 = {1, 2, 3, 4, 5};
System.out.println("Can partition: " + canPartition(nums2)); // Output: false
}
}
Editor is loading...
Leave a Comment