leetcode1299. Replace Elements with Greatest Element on Right Side

Posted seyjs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode1299. Replace Elements with Greatest Element on Right Side相关的知识,希望对你有一定的参考价值。

题目如下:

Given an array arr, replace every element in that array with the greatest element among the elements to its right, and replace the last element with -1.

After doing so, return the array.

Example 1:

Input: arr = [17,18,5,4,6,1]
Output: [18,6,6,6,1,-1]

Constraints:

  • 1 <= arr.length <= 10^4
  • 1 <= arr[i] <= 10^5

解题思路:从右往左遍历arr,同时记录出现的最大值即可。

代码如下:

class Solution(object):
    def replaceElements(self, arr):
        """
        :type arr: List[int]
        :rtype: List[int]
        """
        res = [-1]
        max_val = arr[-1]
        for i in range(len(arr)-2,-1,-1):
            res.insert(0,max_val)
            max_val = max(arr[i], max_val)
        return res

 

以上是关于leetcode1299. Replace Elements with Greatest Element on Right Side的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode1299. Replace Elements with Greatest Element on Right Side

Leetcode 1299. Replace Elements with Greatest Element on Right Side

1299. Replace Elements with Greatest Element on Right Side

算法leetcode|1299. 将每个元素替换为右侧最大元素(rust和go)

算法leetcode|1299. 将每个元素替换为右侧最大元素(rust和go)

1299. 将每个元素替换为右侧最大元素『简单』