刷题系列博客链接:机试题目
目录
题目及示例
给你一个数组 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来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/replace-elements-with-greatest-element-on-right-side
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
我的题解
刚开始就是用了循环和小循环部分选择排序,找出最大值填上。效率很慢。代码如下。图是后来截的图,56ms的是后面的优化代码,其实也就两行。
/**
* 刚开始,暴力,没有优化,效率差,几百