题目描述:
给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。
完成所有替换操作后,请你返回这个数组。
输入:
arr = [17,18,5,4,6,1]
输出:
[18,6,6,6,1,-1]
题意:
题目描述
题解:
拿一个数组从右开始遍历每次存着更新最大值
代码:
class Solution {
public int[] replaceElements(int[] arr) {
int len = arr.length;
int [] max = new int [len];
int maxx = arr[len - 1];
for(int i = len - 2; i >= 0; i --){
int t = arr[i];
arr[i] = maxx;
maxx = Math.max(maxx,t);
}
arr[len - 1] = -1;
return arr;
}
}