Check if There is a Valid Partition For The Array LeetCode solution in Java
1// Time O(n)2// Space O(n)3class Solution {4public boolean validPartition(int[] nums) {5boolean[] dp = new boolean[nums.length + 1];6dp[0] = true; // base case7for (int i = 2; i <= nums.length; i++) {8dp[i] |= nums[i - 1] == nums[i - 2] && dp[i - 2]; // cond 19dp[i] |=10i > 2 && nums[i - 1] == nums[i - 2] && nums[i - 2] == nums[i - 3] && dp[i - 3]; // cond 211dp[i] |=12i > 213&& nums[i - 1] - nums[i - 2] == 114&& nums[i - 2] - nums[i - 3] == 115&& dp[i - 3]; // cond 316}17return dp[nums.length];18}19}