• Codeforces Round #481 (Div. 3) A. Remove Duplicates


    题目地址:http://codeforces.com/contest/978/problem/A

    题解:给一串长度为n的数组,然后删去相同的数字(从右往左)。

    方法:题目n和数组ai给的范围都很小,所以可以放一个vis[1500]的数组表示1~1000内的数字是否被访问过。从右到左倒着访问,然后再把out数组倒着输出。

    代码:(代码较丑,欢迎大佬们批评指正)

     1 #include<cstdio>
     2 #include<cmath>
     3 #include<algorithm>
     4 #include<cstring>
     5 #include<string>
     6 #include<iostream>
     7 #include<map>
     8 #include<vector>
     9 #include<set>
    10 #include<queue>
    11 using namespace std;
    12 const int inf = 0x3f3f3f3f;
    13 int main()
    14 {
    15     int n;
    16     int a[60], vis[1500] = {0},out[60];
    17     scanf("%d", &n);
    18     for (int i = 0; i < n; i++)
    19     {
    20         scanf("%d", &a[i]);
    21     }
    22     int len = 0;
    23     for (int i = n - 1; i >= 0; i--)
    24     {
    25         if (vis[a[i]] == 0)
    26         {
    27             out[len] = a[i];
    28             len++;
    29             vis[a[i]] = 1;
    30         }
    31     }
    32     printf("%d
    ", len);
    33     for (int i = len-1 ; i >= 0; i--)
    34     {
    35         printf("%d", out[i]);
    36         if (i != 0)
    37             printf(" ");
    38         else
    39             printf("
    ");
    40     }
    41     return 0;
    42 }
  • 相关阅读:
    设计模式之《工厂方法》
    设计模式之 《简单工厂》
    fegin 调用源码分析
    ajax上传预览
    ajax小应用
    ajax执行流程1
    ajax异步post方法
    ajax get异步方法
    js ajax请求流程
    form表单提交
  • 原文地址:https://www.cnblogs.com/Tangent-1231/p/9041148.html
Copyright © 2020-2023  润新知