class Solution {
public int[] replaceElements(int[] arr) {
LinkedList<Integer> list = new LinkedList<>();
if(arr.length==1){
return new int[]{-1};
}
list.add(-1);
int maxnum = arr[arr.length-1];
for(int i=arr.length-2;i>=0;i-=1){
int num = arr[i];
list.add(maxnum);
maxnum = Math.max(maxnum,num);
}
int[] retarr = new int[arr.length];
for(int i=0;i<list.size();i+=1){
retarr[arr.length-i-1] = list.get(i);
}
return retarr;
}
}
leetcode-双周赛题。
没什么好说的,从右侧开始遍历,维护一个滑动窗口即可