开关电灯-度小满春招基础架构研发工程师第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;
}
相关推荐
charlie1145141917 分钟前
嵌入式的现代C++教程——constexpr与设计技巧
开发语言·c++·笔记·单片机·学习·算法·嵌入式
清木铎2 小时前
leetcode_day4_筑基期_《绝境求生》
算法
清木铎2 小时前
leetcode_day10_筑基期_《绝境求生》
算法
j_jiajia2 小时前
(一)人工智能算法之监督学习——KNN
人工智能·学习·算法
源代码•宸2 小时前
Golang语法进阶(协程池、反射)
开发语言·经验分享·后端·算法·golang·反射·协程池
Jasmine_llq4 小时前
《CF280C Game on Tree》
数据结构·算法·邻接表·深度优先搜索(dfs)·树的遍历 + 线性累加统计
小棠师姐4 小时前
支持向量机(SVM)入门:超平面与核函数的通俗解释
算法·python机器学习·支持向量机svm·超平面可视化·核函数应用
im_AMBER4 小时前
Leetcode 102 反转链表
数据结构·c++·学习·算法·leetcode·链表
今儿敲了吗5 小时前
01|多项式输出
c++·笔记·算法
Xの哲學5 小时前
深入剖析Linux文件系统数据结构实现机制
linux·运维·网络·数据结构·算法