915. Partition Array into Disjoint Intervals
Last updated
Last updated
/**
* Time complexity :
* Space complexity :
*/
class Solution {
public int partitionDisjoint(int[] nums) {
int n = nums.length;
int[] minNums = new int[n];
int min = Integer.MAX_VALUE;
for(int i = n-1; i >= 0; i--) {
min = Math.min(min, nums[i]);
minNums[i] = min;
}
int[] maxNums = new int[n];
int max = Integer.MIN_VALUE;
for(int i = 0; i < n; i++) {
max = Math.max(max, nums[i]);
maxNums[i] = max;
if(i < n-1 && maxNums[i] <= minNums[i+1]) {
return i+1;
}
}
return n;
}
}