| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 821 人关注过本帖
标题:求解一道题,应该用什么结构,好懵逼!
只看楼主 加入收藏
一分钟
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-11-3
收藏
 问题点数:0 回复次数:3 
求解一道题,应该用什么结构,好懵逼!
Input

The first line is a positive integer t for the number of test cases.
Each test case contains two lines. The first line is an integer n (0<n<=100). The second line contains n integers.

Output

For each test case, outputs the distinct numbers in order in which they were read, seperated by one blank.

Sample Input

2
3
1 2 1
4
2 1 2 1
Sample Output

1 2
2 1
搜索更多相关主题的帖子: positive number 
2016-11-04 00:26
魑魅
Rank: 1
等 级:新手上路
帖 子:77
专家分:9
注 册:2016-9-18
收藏
得分:0 
循环判断,应该有分支结构
2016-11-04 07:24
一分钟
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-11-3
收藏
得分:0 
回复 2楼 魑魅
还是不明白,是要用嵌套数组吗?
2016-11-04 07:26
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
你得找到这样一个数据结构:它能快速的新增一个元素,它能快速的判断是否存在某个元素。
程序代码:
#include <stdio.h>
#include <set> // 只是示例

int main( void )
{
    unsigned t;
    scanf( "%u", &t );
    while( t-- )
    {
        std::set<int> container; // 只是示例,假设你有这样的一个数据结构

        unsigned n;
        scanf( "%u", &n );
        while( n-- )
        {
            int v;
            scanf( "%d", &v );

            if( container.find(v) == container.end() ) // 只是示例,判断v是否已经存在于container中
            {
                printf( "%s%d", (" "+container.empty()), v ); // 只是示例,判断container容器是否为空
                container.insert( v ); // 只是示例,将v添加到container容器中
            }
        }
        putchar( '\n' );
    }

    return 0;
}

从题目来看,这是一道比较弱的题,自然不需要你写一个高效的算法,因此循环查找即可。
程序代码:
#include <stdio.h>

int main( void )
{
    unsigned t;
    scanf( "%u", &t );
    while( t-- )
    {
        int container[100];
        size_t container_size = 0;

        unsigned n;
        scanf( "%u", &n );
        while( n-- )
        {
            int v;
            scanf( "%d", &v );

            size_t i;
            for( i=0; i!=container_size && v!=container[i]; ++i );

            if( i == container_size )
            {
                printf( "%s%d", (" "+(container_size==0)), v );
                container[container_size++] = v;
            }
        }
        putchar( '\n' );
    }

    return 0;
}

2016-11-04 08:40
快速回复:求解一道题,应该用什么结构,好懵逼!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020172 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved