欢迎光临散文网 会员登陆 & 注册

LeetCode 2091. Removing Minimum and Maximum From Array

2023-04-19 08:55 作者:您是打尖儿还是住店呢  | 我要投稿

You are given a 0-indexed array of distinct integers nums.

There is an element in nums that has the lowest value and an element that has the highest value. We call them the minimum and maximum respectively. Your goal is to remove both these elements from the array.

A deletion is defined as either removing an element from the front of the array or removing an element from the back of the array.

Return the minimum number of deletions it would take to remove both the minimum and maximum element from the array.

 

Example 1:

Input: nums = [2,10,7,5,4,1,8,6]

Output: 5

Explanation: 

The minimum element in the array is nums[5], which is 1.

The maximum element in the array is nums[1], which is 10.

We can remove both the minimum and maximum by removing 2 elements from the front and 3 elements from the back. 

This results in 2 + 3 = 5 deletions, which is the minimum number possible.

Example 2:

Input: nums = [0,-4,19,1,8,-2,-3,5]

Output: 3

Explanation: 

The minimum element in the array is nums[1], which is -4. 

The maximum element in the array is nums[2], which is 19. 

We can remove both the minimum and maximum by removing 3 elements from the front. This results in only 3 deletions, which is the minimum number possible.

Example 3:

Input: nums = [101]

Output: 1

Explanation:  

There is only one element in the array, which makes it both the minimum and maximum element. We can remove it with 1 deletion.

 

Constraints:

  • 1 <= nums.length <= 105

  • -105 <= nums[i] <= 105

  • The integers in nums are distinct.

其实就是分3种情况,

[....i....j]方案1的长度是j+1;

[i....j....]方案2的长度是n-i;

[....i]+[j.....]方案3的长度是i+n-j+1;

我们先遍历整个数组,找到最大值最小值的位置,一左一右,放好,然后就是根据这3个方案求出最小值即可;

Runtime: 2 ms, faster than 100.00% of Java online submissions for Removing Minimum and Maximum From Array.

Memory Usage: 58.5 MB, less than 53.50% of Java online submissions for Removing Minimum and Maximum From Array.


LeetCode 2091. Removing Minimum and Maximum From Array的评论 (共 条)

分享到微博请遵守国家法律