厦大ACM入门百练

数组去重问题

描述

小鲁想要在博览群书的前提下又学习编程,每天都在面临选择的张力,因为著书多没有穷尽,读书多身体疲倦!

他灵机一动,心里暗暗思想,每一类书其实只要读一本最好的即可,这样可以省下大量的重复阅读的时间,如果能事先知道要读多少类的书,还能提前规划自己的阅读时间,这个方法真妙。于是他花了1周的时间,把自己的藏书归类,形成一个长度为n的类别编号数组a。

请写一个函数SumofUnique计算a数组中前size个数中,独一无二值的个数:

int SumofUnique(int a[], int size); //返回数组前size个数中的不同数的个数。

数据范围

1≤size≤n≤1000

输入

第一行包含两个整数n和size。

第二行包含n个整数,表示数组a。

输出

共一行,包含一个整数表示a数组中前size个数去掉重复数后,剩下的数组长度是多少。

输入样例 1 

204 40
6 15 16 29 36 50 50 52 68 70 76 78 84 87 90 90 97 104 104 117 118 125 128 140 140 147 149 156 160 160 164 165 168 174 186 188 192 205 213 220 220 225 226 231 232 233 234 234 236 244 250 258 265 270 289 290 300 304 306 310 323 328 330 340 341 376 378 383 385 387 392 394 395 396 416 426 428 428 429 430 440 464 475 478 480 480 480 486 487 496 500 511 516 517 520 520 520 520 527 528 528 535 537 544 548 552 552 561 563 584 595 600 600 608 608 610 610 622 629 640 640 640 644 645 647 647 648 656 670 688 689 690 691 693 720 720 722 734 744 748 749 755 758 764 764 775 780 790 790 792 800 800 802 807 808 815 816 832 832 833 839 840 840 844 844 848 856 860 862 864 870 870 875 879 890 890 890 896 896 917 920 924 928 932 934 935 943 950 950 951 952 952 954 955 959 960 969 970 975 976 978 980 995 998 

输出样例 1

199
#include <stdio.h>
int SumofUnique(int a[], int size)
{
    int sum=0;
    for(int j=0;j<size-1-sum;j++)
        for(int k=j+1;k<size-sum;k++)
            if(a[j]==a[k])
            {
                sum++;
              for(int i=k;i<size;i++)
                    a[i]=a[i+1];
                k--;
            }
        return (sum);
}

int main()
{
    int size, n, m;
    scanf("%d %d",&n,&size);
    int a[n];
    for(int i=0; i<n; i++)
        scanf("%d", &a[i]);
    m = n- SumofUnique(a,size);
    printf("%d", m);
    
    return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值