开关电灯-度小满春招基础架构研发工程师第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;
}
相关推荐
BD4SXV25 分钟前
线性二次调节器(Linear Quadratic Regulator,LQR)的无限时域最优控制求解与黎卡提方程
算法·自动化
ST——Jess34 分钟前
2026年度传统文化数字化与命理科技(Ethno-tech)行业趋势研究报告:专业级数智工作台的技术壁垒与评测标准
人工智能·科技·算法·架构
Matrix_111 小时前
第13篇:非线性位移场——漩涡、鱼眼、水波纹与球面化
图像处理·算法
金牌归来发现妻女流落街头1 小时前
【LeetCode 第207题】
算法·leetcode·拓扑·领接表
熬夜敲代码的猫1 小时前
AVL树(C++详解版)
数据结构·c++·算法
-To be number.wan1 小时前
算法日记 | STL-MAP
c++·算法
cjp5601 小时前
015. UG 二次开发,拉伸草图生成实体类,高级草图类封装
算法
Eric 辰东2 小时前
【C 语言程序的编译和链接】详解编译链接过程
c语言·笔记·算法·学习方法
迈巴赫车主2 小时前
蓝桥杯21247弹跳鞋java
java·开发语言·数据结构·算法·职场和发展·蓝桥杯
jghhh012 小时前
基于 Weiler-Atherton 算法的多边形裁剪程序实现
算法