码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C. Sort Zero


    题目描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
    思路分析:
    记住他是要保证这个数列是不降的,也就是说如果某一个位置上的数变成了0,那么这个数前面的部分一定全都是0了,我们用map数组得到每一个数出现的最晚的位置,先从后向前遍历一遍,找出从哪开始出现了递减,然后标记下来结束即可,看看前面的每一个数都要用st标记是不是要归零,然后保证他们的这个数的最后的位置前面全是0,记住了st数组要用st[a[i]]=0来初始化,别用memset会超时

    #include
    #include
    #include
    #include
    #include
    using namespace std;
    int a[100010], st[1000010];
    int ans,t;
    int main()
    {
    	cin >> t;
    	while (t--){
    		int n, temp = -1;
    		cin >> n;
    		ans = 0;
    		map<int, int>mp;//记录最后出现的位置
    		for (int i = 1; i <= n; i++)
    		{
    			cin >> a[i];
    			st[a[i]] = 0;
    			mp[a[i]] = max(mp[a[i]], i);//不断往后看
    		}
    		if (n == 1) {
    			cout << 0 <<endl; continue;
    		}
    		for (int i = n; i >= 2; i--)
    		{
    			if (a[i] < a[i - 1]){
    				temp = i-1; //记录0应该出现的最后的位置
    				break;
    			}
    		}
    		if (temp == -1) {
    			cout << 0 << endl; continue;
    		}
    		int maxx = -1, ans = 0;
    		for (int i = 1; i <= temp; i++)
    		{
    			maxx = max(maxx, mp[a[i]]);
    		}
    		for (int i = 1; i <= maxx; i++)//往前都要变成零 
    		{
    			if (a[i] && st[a[i]] == 0)
    			{
    				st[a[i]] = 1;//标记
    				ans++;//答案
    			}
    		}
    		cout << ans << endl;
    	}
    	return 0;
    }
    
    
  • 相关阅读:
    Pandas一键爬取解析代理IP与代理IP池的维护
    docker使用filebeat+elk采集日志
    第33章_瑞萨MCU零基础入门系列教程之DHT11温湿度获取实验
    携手亚信安慧AntDB,在数智化浪潮中乘风破浪
    牛客网刷题-(5)
    软考 系统架构设计师系列知识点之软件可靠性基础知识(6)
    苹果跌落全球市值第一宝座;联想一员工侵占公司工时费近1000万;PHP 8.1.6 发布|极客头条
    爱心html制作并部署github
    如何在 Ubuntu 22.04.1 上安装并使用 PostgreSQL 14.5?
    隐入尘烟影评
  • 原文地址:https://blog.csdn.net/2302_80415058/article/details/138869476
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号