zoukankan      html  css  js  c++  java
  • 1299. 将每个元素替换为右侧最大元素

    题目:给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。完成所有替换操作后,请你返回这个数组。

    示例 :

    输入:arr = [17,18,5,4,6,1]
    输出:[18,6,6,6,1,-1]
    解释:
    - 下标 0 的元素 --> 右侧最大元素是下标 1 的元素 (18)
    - 下标 1 的元素 --> 右侧最大元素是下标 4 的元素 (6)
    - 下标 2 的元素 --> 右侧最大元素是下标 4 的元素 (6)
    - 下标 3 的元素 --> 右侧最大元素是下标 4 的元素 (6)
    - 下标 4 的元素 --> 右侧最大元素是下标 5 的元素 (1)
    - 下标 5 的元素 --> 右侧没有其他元素,替换为 -1

    1.原创

    class Solution {
    public:
        int maxofvector(vector<int>& temp){
                int res = 0;
                for (int i=0;i<temp.size();++i){
                    if (temp[i]>res)
                        res = temp[i];
                }
                return res;
            }
        vector<int> replaceElements(vector<int>& arr) {
            vector<int> res;
            if (arr.size()==1){
                res.push_back(-1);
                return res;
            }
            for (int i=0;i<arr.size()-1;++i){
               vector<int>::const_iterator first = arr.begin()+i+1;
               vector<int>::const_iterator last  = arr.end();
               vector<int> cut_vector(first, last);
               res.push_back(maxofvector(cut_vector));
            }
            res.push_back(-1);
            return res;
            
    
        }
    };

    2.题解

    class Solution {
    public:
        vector<int> replaceElements(vector<int>& arr) {
            int n = arr.size();
            vector<int> ans(n);
            ans[n - 1] = -1;
            for (int i = n - 2; i >= 0; --i) {
                ans[i] = max(ans[i + 1], arr[i + 1]);
            }
            return ans;
        }
    };
    
    作者:LeetCode-Solution
    链接:https://leetcode-cn.com/problems/replace-elements-with-greatest-element-on-right-side/solution/jiang-mei-ge-yuan-su-ti-huan-wei-you-ce-zui-da-y-5/
  • 相关阅读:
    Java面试题(转)
    哪种方式更适合在React中获取数据?
    vue学习之深入响应式原理
    还不会用FindBugs?你的代码质量很可能令人堪忧
    几道大数据面试题(转)
    【Medium翻译】Java抽象类有什么用?
    深入理解Kafka必知必会(上)
    (八十六)c#Winform自定义控件-表格优化(转载)
    IDEA 配置及常用快捷键
    Markdown 复杂公式&常用符号
  • 原文地址:https://www.cnblogs.com/USTC-ZCC/p/14468438.html
Copyright © 2011-2022 走看看