915. Partition Array into Disjoint Intervals

Difficulty:
Related Topics:
Similar Questions:

Problem

Given an integer array nums, partition it into two (contiguous) subarrays left and right so that:

Return **the length of *left* after such a partitioning**.

Test cases are generated such that partitioning exists.

  Example 1:

Input: nums = [5,0,3,8,6]
Output: 3
Explanation: left = [5,0,3], right = [8,6]

Example 2:

Input: nums = [1,1,1,0,6,12]
Output: 4
Explanation: left = [1,1,1,0], right = [6,12]

  Constraints:

Solution (Java)

class Solution {
    public int partitionDisjoint(int[] nums) {
        int res = 0;
        int leftMax = nums[0];
        int greater = nums[0];
        for (int i = 1; i < nums.length; i++) {
            if (greater <= nums[i]) {
                greater = nums[i];
            } else if (nums[i] < leftMax) {
                res = i;
                leftMax = greater;
            }
        }
        return res + 1;
    }
}

Explain:

nope.

Complexity: