信息学奥赛一本通1117:整数去重 视频题解

2023-10-12 04:20

本文主要是介绍信息学奥赛一本通1117:整数去重 视频题解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

信息学奥赛一本通1117:整数去重 视频题解

信息学奥赛一本通 1117:整数去重 视频题解

时间限制: 1000 ms 内存限制: 65536 KB
提交数: 26883 通过数: 15361
【题目描述】
给定含有n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。

【输入】
输入包含两行:

第一行包含一个正整数n(1≤n≤20000),表示第二行序列中数字的个数;

第二行包含n个整数,整数之间以一个空格分开。每个整数大于等于10、小于等于5000。

【输出】
输出只有一行,按照输入的顺序输出其中不重复的数字,整数之间用一个空格分开。

【输入样例】
5
10 12 93 12 75
【输出样例】
10 12 93 75

书上范例:
在这里插入图片描述

通用思维算法:

#include<bits/stdc++.h>
using namespace std;
//微信请加 14808098 一起快乐学习信息学奥赛
int a[20005];
int n;
bool b[20005];
int main() {cin>>n;for(int i=1;i<=n;i++){scanf("%d",&a[i]);}	/*19999+19998+19997+...+0;= (首项+末项)*项数/2= (19999+0)*20000/2= 4亿*/int  ans = 0;for(int i=1;i<=n;i++){for(int j=1;j<i;j++){ans++;if(a[j]==a[i]){b[i] = 1;break;}} }for(int i=1;i<=n;i++){if(b[i]!=1){printf("%d ",a[i]);}}return 0;
}
/*
5
10 12 93 12 75 12a[0]=10 a[1]=12 a[2]=93 a[3]=12 a[4]=75 a[5]=12
b[0]=0 b[1]=0  b[2]=0  b[3]=1    b[4]= 0  b[5]=1a[0]=10 a[1]=12 a[2]=93 a[4]=75*/

优化算法:

#include<bits/stdc++.h>
using namespace std;
//微信请加 14808098 一起快乐学习信息学奥赛
int a[20005];
bool b[20005];
int n; 
bool c[5005]; // 
int main() {cin>>n;for(int i=1;i<=n;i++){scanf("%d",&a[i]);}for(int i=1;i<=n;i++){int x = a[i];if(c[x]==0){c[x] = 1;}else{b[i] = 1;}}for(int i=1;i<=n;i++){if(b[i]!=1){printf("%d ",a[i]);}}return 0;
}
/*
a[0]=10 a[1]=12 a[2]=93 a[3]=12 a[4]=75 a[5]=12
b[0]=0 b[1]=0  b[2]=0  b[3]=1    b[4]= 0  b[5]=1
c[10]=1 c[12]=1 c[93]=1 c[12]=1 c[75]=1 c[5]=1
*/

这篇关于信息学奥赛一本通1117:整数去重 视频题解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/193194

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

PTA求一批整数中出现最多的个位数字

作者 徐镜春 单位 浙江大学 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。 输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n