Leetcode 1846. Maximum Element After Decreasing and Rearranging [Python]

跟着Hint的内容做就基本出来了。sort之后,看第一位是不是1,不是的话设置为1,随后的位置的数字,由于是已经sort了,只用看其与后面一个数字的差值是否大于1,大于则置为其前一位数字+1。

class Solution:
    def maximumElementAfterDecrementingAndRearranging(self, arr: List[int]) -> int:
        arr = sorted(arr)
        index = 0
        if arr[index] != 1:
            arr[index] = 1
        for index in range(1, len(arr)):
            if arr[index] - arr[index-1] > 1:
                arr[index] = arr[index-1] + 1      
        return max(arr)
上一篇:E-Lexicographically Maximum Subsequence


下一篇:Leetcode2130. Maximum Twin Sum of a Linked List