LeetCode 1846. Maximum Element After Decreasing and Rearranging
You are given an array of positive integers?arr
. Perform some operations (possibly none) on?arr
?so that it satisfies these conditions:
The value of the?first?element in?
arr
?must be?1
.The absolute difference between any 2 adjacent elements must be?less than or equal to?
1
. In other words,?abs(arr[i] - arr[i - 1]) <= 1
?for each?i
?where?1 <= i < arr.length
?(0-indexed).?abs(x)
?is the absolute value of?x
.
There are 2 types of operations that you can perform any number of times:
Decrease?the value of any element of?
arr
?to a?smaller positive integer.Rearrange?the elements of?
arr
?to be in any order.
Return?the?maximum?possible value of an element in?arr
?after performing the operations to satisfy the conditions.
?
Example 1:
Input: arr = [2,2,1,2,1]
Output: 2
Explanation: We can satisfy the conditions by rearranging arr
so it becomes [1,2,2,2,1]
.
The largest element in arr
is 2.
Example 2:
Input: arr = [100,1,1000]
Output: 3
Explanation: One possible way to satisfy the conditions is by doing the following:
1. Rearrange arr
so it becomes [1,100,1000]
.
2. Decrease the value of the second element to 2.
3. Decrease the value of the third element to 3.
Now arr = [1,2,3], which
satisfies the conditions.
The largest element in arr is 3.
Example 3:
Input: arr = [1,2,3,4,5]
Output: 5
Explanation: The array already satisfies the conditions, and the largest element is 5.
?
Constraints:
1 <= arr.length <= 105
1 <= arr[i] <= 109
給你一個正整數(shù)數(shù)組 arr 。請你對 arr 執(zhí)行一些操作(也可以不進行任何操作),使得數(shù)組滿足以下條件:
arr 中 第一個 元素必須為 1 。
任意相鄰兩個元素的差的絕對值 小于等于 1 ,也就是說,對于任意的 1 <= i < arr.length (數(shù)組下標從 0 開始),都滿足 abs(arr[i] - arr[i - 1]) <= 1 。abs(x) 為 x 的絕對值。
你可以執(zhí)行以下 2 種操作任意次:
減小 arr 中任意元素的值,使其變?yōu)橐粋€ 更小的正整數(shù) 。
重新排列 arr 中的元素,你可以以任意順序重新排列。
請你返回執(zhí)行以上操作后,在滿足前文所述的條件下,arr 中可能的 最大值 。
--------------------------------------------
依次判斷遍歷即可,只是沒箱單會是中等題目;
下面是代碼:
Runtime:?5 ms, faster than?96.26%?of?Java?online submissions for?Maximum Element After Decreasing and Rearranging.
Memory Usage:?56.8 MB, less than?27.10%?of?Java?online submissions for?Maximum Element After Decreasing and Rearranging.