给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。 完成所有替换操作后,请你返回这个数组。
发布日期:2021-10-06 02:38:42 浏览次数:5 分类:技术文章

本文共 594 字,大约阅读时间需要 1 分钟。

给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。

完成所有替换操作后,请你返回这个数组。

 

示例:

输入:arr = [17,18,5,4,6,1]

输出:[18,6,6,6,1,-1]
 

提示:

1 <= arr.length <= 10^4

1 <= arr[i] <= 10^5

方法一:

 

class Solution {    public int[] replaceElements(int[] arr) {        int[] res = new int[arr.length];        for(int i= 0; i

方法二:

class Solution {    public int[] replaceElements(int[] arr) {       int max = -1;        for (int i = arr.length - 1; i >= 0; i--) {            int temp = arr[i];            arr[i] = max;            if (temp > max) {                max = temp;            }        }        return arr;    }   }

 

 

 

转载地址:https://blog.csdn.net/luxuiary/article/details/107511527 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【每日一题】给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。
下一篇:【每日一题】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5]

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月04日 19时49分32秒