开关电灯-度小满春招基础架构研发工程师第2批

度小满校招笔试真题_Java工程师、C++工程师_牛客网

题目分析:我们只关注第一次熄灭,熄灭区间是[i,n],所以后续再出现的值如果大于等于i是不起任何作用的。每次读取开关编号x,如果前面有比x小的编号,x就不起作用。

模拟即可,复杂度O(m+n)

cpp 复制代码
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int v[100005];
int main()
{
    ios::sync_with_stdio(0),cin.tie(0);
    int i,j,x,n,m,minv;
    cin>>n>>m;
    minv=n+1;
    for(i=1; i<=m; i++)
    {/**< 关灯的逻辑:如果前面有比x小的值,哪么[x,n]所在的灯已经打开了 */
        cin>>x;
        if(x<minv)
        {
            for(j=x; j<minv; j++)
                v[j]=i;
            minv=x;
        }
    }
    for(i=1;i<=n;i++)
        cout<<v[i]<<' ';
    return 0;
}
相关推荐
lu_rong_qq24 分钟前
决策树 DecisionTreeClassifier() 模型参数介绍
算法·决策树·机器学习
LNTON羚通6 小时前
摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现
算法·目标检测·音视频·监控·视频监控
哭泣的眼泪4088 小时前
解析粗糙度仪在工业制造及材料科学和建筑工程领域的重要性
python·算法·django·virtualenv·pygame
Microsoft Word8 小时前
c++基础语法
开发语言·c++·算法
天才在此9 小时前
汽车加油行驶问题-动态规划算法(已在洛谷AC)
算法·动态规划
莫叫石榴姐10 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
茶猫_11 小时前
力扣面试题 - 25 二进制数转字符串
c语言·算法·leetcode·职场和发展
肥猪猪爸13 小时前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
readmancynn13 小时前
二分基本实现
数据结构·算法
萝卜兽编程13 小时前
优先级队列
c++·算法