力扣刷题
给你一个数组 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
解题思路:循环数组长度-1 每次将原数组中第一个值去掉 然后找出最大值 添加入新数组中 循环完毕之后再给新数组添加一个-1
/**
* @param {number[]} arr
* @return {number[]}
*/
var replaceElements = function(arr) {
let res =[]
let len = arr.length
for(let i = 0; i<len-1;i++){
arr.splice(0,1)
let max = Math.max(...arr)
res.push(max)
}
res.push(-1)
return res
};