题目
给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。
完成所有替换操作后,请你返回这个数组。
示例
输入:arr = [17,18,5,4,6,1]
输出:[18,6,6,6,1,-1]
思路
双重循环从当前第二项开始对比,大于则赋值到前一个索引目录下,并改变后一项的值
实现
if (arr.length < 1 || arr.length > 10e3) {
return
}
for (let i = 0; i < arr.length; i++) {
if (arr[i] < 1 || arr[i] > 10e4) {
return
}
if (i === arr.length - 1) {
arr[arr.length - 1] = -1
} else {
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] >= arr[i + 1]) {
arr[i] = arr[j]
arr[i+1] = arr[j]
}
}
}
}
return arr