码迷,mamicode.com
首页 > 其他好文 > 详细

【leetcode】1299. Replace Elements with Greatest Element on Right Side

时间:2019-12-29 10:52:14      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:mon   span   pre   return   int   out   range   ace   res   

题目如下:

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

 

【leetcode】1299. Replace Elements with Greatest Element on Right Side

标签:mon   span   pre   return   int   out   range   ace   res   

原文地址:https://www.cnblogs.com/seyjs/p/12114149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!