算法_数组_将每个元素替换为右侧最大元素

jasmine 于 2019-06-02 发布

思路

哈希复杂度为O(1),遍历数组,倒序遍历,将最大值记录到变量中,每次先记录后替换

示例

private static void replaceMaxVal(int[] arr) {
    int rightMaxVal= arr[arr.length-1];

    for(int i = arr.length-2; i>=0; i--){
        int currVal = arr[i];
        int nextVal= arr[i+1];
        if(currVal<nextVal){
            rightMaxVal=nextVal;
            arr[i]=rightMaxVal;
        }
    }
    arr[arr.length-1]=-1;
}