首页 > 其他分享 >P4305 [JLOI2011] 不重复数字

P4305 [JLOI2011] 不重复数字

时间:2023-06-17 13:22:20浏览次数:39  
标签:cout JLOI2011 重复 namespace cin int num P4305 tie

思路:新建一个数组或者哈希表,检查新输入的元素是否在里面,如果在就pass,如果不在就作为新元素存进去,最后输出即可

数组实现:60分

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int num;
    cin>>num;
    for(num;num>=1;num--)
    {
    int n,x;
    cin>>n;
    int j=0;
    int arry[n];
    for(int i=1;i<=n;i++)
    {
        int flag=0;
        cin>>x;
        for(int p=0;p<j;p++)
        {
            if(x == arry[p]) flag=1;
        }
        if(flag == 0)
        {
            arry[j]=x;
            j++;
        }
        
    }
    for(int y=0;y<j;y++)
    {        
        cout<<arry[y]<<' ';
    }
    cout<<'\n';
    }
    return 0;
}

 

哈希表实现:需要pause输出,100分

#include<bits/stdc++.h>
#define Iopause ios::sync_with_stdio(false), cin.tie(0),cout.tie(0) ;
using namespace std;


void Solve(){
    unordered_map <int ,int> hashtable;
    int n,x;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>x;
        if(hashtable.count(x)==0 ){
            cout<<x<<' ';
            hashtable[x]=0;
        }
    
    }
    cout<<'\n';
    
    
}
int main()
{
    Iopause;
    int t;
    cin>>t;
    while(t--){
        Solve();
    }
    return 0;
}

 

标签:cout,JLOI2011,重复,namespace,cin,int,num,P4305,tie
From: https://www.cnblogs.com/zcbiao/p/17487380.html

相关文章

  • springboot防重复提交
    springboot防重复提交1、场景网页卡顿的时候,用户点击会造成重复操作如果前端不做防重复操作。会导致重复提交,重复下单等意外操作。而且对于系统资源来说也是一种浪费常规的解决方法是让前端把点击后的按钮设置为不可点击,这样基本上能就能解决了。99.999999%能解决。前端这么弄......
  • 直播平台怎么搭建,vue 中判断数组中是否有重复的数据
    直播平台怎么搭建,vue中判断数组中是否有重复的数据  isRepeat(v){   letobj={}   for(letiinv){    if(obj[v[i]]){     returntrue    }    obj[v[i]]=true   }   returnfalse  },​ 以上就是......
  • 代码随想录算法训练营第八天| 28. 实现 strStr() 459.重复的子字符串
    28.实现strStr()  难点:1,制作KMP算法2,next数组要求的是,找到的下标:0/s[i]==s[j]才可以跳出来代码:1vector<int>getNextList(stringneedle)2{3vector<int>next(needle.size());4intj=0;5next[0]=0;67for(inti=1;i......
  • 带重复元素的排列
    带重复元素的排列题目:描述给出一个具有重复数字的列表,找出列表所有不同的排列。样例样例1:输入:nums=[1,1]输出:[[1,1]]解释:[1,1]的不同排列只有[1,1]。样例2:输入:nums=[1,2,2]输出:[[1,2,2],[2,1,2],[2,2,1]]解题思路:首先思考如何去重,先......
  • 442.数组中重复的数据 (Medium)
    问题描述442.数组中重复的数据(Medium)给你一个长度为n的整数数组nums,其中nums的所有整数都在范围[1,n]内,且每个整数出现一次或两次。请你找出所有出现两次的整数,并以数组形式返回。你必须设计并实现一个时间复杂度为O(n)且仅使用常量额外空间的算法解决此......
  • 练习写 不重复的随机数
    packagecom.fqs.demo061301;importcom.sun.scenario.effect.impl.prism.ps.PPStoPSWDisplacementMapPeer;importjava.util.Random;publicclassArrNo{publicstaticvoidmain(String[]args){//定义原始数组arrint[]arr={11,22,33,44,55};......
  • Java判断一个List中是否有重复元素
    1.将List转为Set,通过2个集合的size大小是否相等来判断有无重复元素publicstaticvoidmain(String[]args){ListstringList=newArrayList<>(Arrays.asList("a","a","b","c"));SetstringSet=newHashSet<>(stringList);......
  • 求一个不重复的数组
    packagecom.fqs.test;importjava.util.Random;publicclasshello{publicstaticvoidmain(String[]args){intweishu=6;int[]arr1=getNo(weishu);for(inti=0;i<weishu;i++){System.out.println("ar......
  • 如何防止头文件被重复包含或引用?
    #include文件的一个不利之处在于一个头文件可能会被多次包含,为了说明这种错误,考虑下面的代码:#include"x.h"#include"x.h"显然,这里文件x.h被包含了两次,没有人会故意编写这样的代码。但是下面的代码:#include"a.h"#include"b.h"看上去没什么问题。如果a.h和b.h都包含了一个头文......
  • linux使用flock文件锁解决脚本重复执行问题
    linux的crontab命令,可以定时执行操作,最小周期是每分钟执行一次。关于crontab实现每秒执行可参考我之前的文章《linuxcrontab实现每秒执行》现在有个问题,如果设定了任务每分钟执行一次,但有可能一分钟内任务并没有执行完成,这时系统会再执行任务。导致两个相同的任务在执行。例如:?......