java.lang.Object
g1601_1700.s1671_minimum_number_of_removals_to_make_mountain_array.Solution

public class Solution extends Object
1671 - Minimum Number of Removals to Make Mountain Array.<p>Hard</p> <p>You may recall that an array <code>arr</code> is a <strong>mountain array</strong> if and only if:</p> <ul> <li><code>arr.length >= 3</code></li> <li>There exists some index <code>i</code> ( <strong>0-indexed</strong> ) with <code>0 < i < arr.length - 1</code> such that: <ul> <li><code>arr[0] < arr[1] < ... < arr[i - 1] < arr[i]</code></li> <li><code>arr[i] > arr[i + 1] > ... > arr[arr.length - 1]</code></li> </ul> </li> </ul> <p>Given an integer array <code>nums</code>, return <em>the <strong>minimum</strong> number of elements to remove to make</em> <code>nums</code> <em>a <strong>mountain array</strong>.</em></p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> nums = [1,3,1]</p> <p><strong>Output:</strong> 0</p> <p><strong>Explanation:</strong> The array itself is a mountain array so we do not need to remove any elements.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> nums = [2,1,1,5,6,2,3,1]</p> <p><strong>Output:</strong> 3</p> <p><strong>Explanation:</strong> One solution is to remove the elements at indices 0, 1, and 5, making the array nums = [1,5,6,3,1].</p> <p><strong>Constraints:</strong></p> <ul> <li><code>3 <= nums.length <= 1000</code></li> <li><code>1 <= nums[i] <= 10<sup>9</sup></code></li> <li>It is guaranteed that you can make a mountain array out of <code>nums</code>.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • minimumMountainRemovals

      public int minimumMountainRemovals(int[] nums)