华为2016校园招聘上机笔试题-最高分是多少

本文介绍了一个使用C++实现的向量最大值查询算法。该算法接收一个整数向量和两个索引作为输入,返回指定范围内的最大值。此外,程序还提供了更新向量元素的功能,并通过读取标准输入进行多次查询和更新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<bits/stdc++.h>
using namespace std;
int FindMax(vector<int>& vec,int A,int B)
{
    int MaxValue=vec[A-1];
    for(int i=A;i<B;i++)
    {
        if(vec[i]>MaxValue)
        {
            MaxValue=vec[i];
        }
    }
    return MaxValue;
}
int main()
{
    ios::sync_with_stdio(false);
    int N,M;
    int tmp;
    int MaxValue;
    int A,B;
    char op;
    vector<int> vec;
    while(cin>>N>>M)
    {
        vec.clear();

        for(int i=0;i<N;i++)
        {
            cin>>tmp;
            vec.push_back(tmp);
        }
        while(M--)
        {
            cin>>op;
            //cout<<op<<endl;
            cin>>A>>B;
           
            if(op=='Q')
            {
                 if(B<A)
            {
                swap(A,B);
            }
                MaxValue=FindMax(vec,A,B);
                cout<<MaxValue<<endl;
            }
            else
            {
                vec[A-1]=B;
               // cout<<A<<":"<<B<<endl;
            }
        }
    }

    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值