明明生成了个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。 数据范围: ,输入的数字大小满足

区块链毕设网qklbishe.com为您提供问题的解答

明明生成了明明生成了个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。    数据范围:  ,输入的数字大小满足个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。

数据范围: 明明生成了个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。    数据范围:  ,输入的数字大小满足 ,输入的数字大小满足 明明生成了个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。    数据范围:  ,输入的数字大小满足
     
#include <iostream>

using namespace std; int main() { int N, n; while (cin >> N) { int a[1001] = { 0 }; while (N--) { cin >> n; a[n] = 1; } for (int i = 0; i < 1001; i++) if (a[i]) cout << i << endl; } return 0; }

编辑于 2019-03-20 14:21:35
#include<iostream> #include<set>   using namespace std;   int main(){     int loop = 0;     while (cin >> loop)                   //看题目,set容器     {         int a[1000], tem, i = 0;         for (int i = 0; i < loop; i++) cin >> a[i];         set<int> num(a, a + loop);         for (set<int>::iterator it = num.begin(); it != num.end(); it++){             cout << *it << endl;         }     }     return 0; }

45:23
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a[1000],b[1001]={0},i;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
b[a[i]]++;
for(i=0;i<1001;i++)
{
if(b[i]!=0)
printf("%dn",i);
}
}
return0;
}

编辑于 2017-08-28 00:50:05
//这个问题的表述本身有问题,它的测试数据不止有一组,很多朋友估计是因为这个原因一直没有通过
#include<stdio.h>
int main()
{
int n,a[10000],i,j,k,temp;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]==a[j])
{
for(k=j+1;k<n;k++)
a[k-1]=a[k];
n–;
j–;
}
}
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<n;i++)
printf("%dn",a[i]);
}
}

16:29
  import java.util.Scanner; import java.util.TreeSet;  public class Main { 	public static void main(String[] args) { 		Scanner sc=new Scanner(System.in); 		while(sc.hasNext()){ 			 			TreeSet<Integer> set=new TreeSet<Integer>(); 			int n=sc.nextInt(); 			if(n>0){ 				for(int i=0;i<n;i++){ 					set.add(sc.nextInt()); 				} 			} 			for(Integer i:set){ 				System.out.println(i); 			} 		} 	} }        

29:44
import java.util.Scanner;
 /** 
 * 1、测试数据有多组,一定要有while
 * 2、需要手动输入数据,而不是计算机产生随机数 
 * @author Administrator 
 */
public class Main {
    public static void main(String[] args) {
        Scanner sr = new Scanner(System.in);
 
        while(sr.hasNext()) {
            intn = sr.nextInt();
            int[] a = newint[n];
            for(inti = 0; i < n; i++) {
                a[i] = sr.nextInt();
            }
            int[] c = qucong(a);
 
            for(inti = 0; i < 1000; i++) {
                if(c[i] == 1) {
                    System.out.println(i);
                }
            }
        }
    }
 
    public static int[] qucong(int[] a) {
        int[] b = newint[1000];
        for(inti = 0; i < 1000; i++) {
            b[i] = 0;
        }
        for(inti = 0; i < a.length; i++) {
            b[a[i]] = 1;
        }
        returnb;
    }
}

编辑于 2016-03-02 15:55:10
/* 使用<algorithm>中的sort()进行排序。 排好序输出时进行去重,若要输出的数和前一个输出的数相同则不输出该数。 */ #include <iostream> #include <algorithm>  using namespace std;  int main() {     int n;     while(cin >> n){         int inputArray[n];         int tmp;         for(int i=0;i<n;i++){             cin >> tmp;             inputArray[i] = tmp;         }         sort(inputArray,inputArray+n);         if(n==1)             cout<<inputArray[n-1]<<endl;         else{             cout<<inputArray[0]<<endl;             for(int i=1;i<n;++i){                 if(inputArray[i]!=inputArray[i-1])                     cout << inputArray[i] << endl;             }         }     }      return 0; } 

17:14

python三行代码解法:

while True:     try:          a,res=int(input()),set()         for i in range(a):res.add(int(input()))         for i in sorted(res):print(i)       except:         break 

03:28
学号一到一千,随机数还不超过一千,去重,排序,我去,,, 怎么这么熟悉,这不是桶排序么!!! #include<iostream> #include<vector> using namespace std; int main() { 	int nums; // 表示随机数个数 	 	while (cin >> nums) 	{ vector<int> id(1001, 0); int tmp; for (int i = 1; i <= nums; i++) 		{ 			cin >> tmp; id[tmp]++; 		} 		for (int j = 1; j < id.size(); j++) 			if (id[j]>0) cout << j << endl;  	}  	return 0; }

编辑于 2016-07-15 17:52:50
我感觉我还是来一个普通人的写法吧,大神们的代码我真是看的头疼。这个思路很简单,一看就懂
import java.util.Scanner; import java.util.TreeSet; import java.util.Arrays;   public class Main {     public static void main(String[] args) {         Scanner scan = new Scanner(System.in);                  while(scan.hasNext()){             int n = scan.nextInt();             int[] array = new int[n];             for(int i=0;i<n;i++){                 array[i] = scan.nextInt();             }             Arrays.sort(array);//对输入的数组进行排序             //对排好序的数组中重复的数组进行选择输出,首先输出第一个数             System.out.println(array[0]);             for(int i=1;i<n;i++){                 if(array[i] != array[i-1])                     System.out.println(array[i]);             }         }     } } 

05:15

我用nodejs我骄傲
使用nodes最怕的就是这样的多行输入,我想到一个好方法,就是用一个全局的数组存放输入,
data[0]为输入的数据个数,data[1-n]为输入的数据。
const readline = require(‘readline’);
const rl = readline.createInterface(process.stdin,process.stdout);
var data = [];
rl.on(‘line’,function(ans){
data.push(ans);
var n = data[0]-0;
var filterarr = [];
var arr = [];
if(data.length==n+1){
arr = data.slice(1);
for(var k = 0;k<arr.length;k++){
var ele = arr[k];
if(filterarr.indexOf(ele)==-1){
filterarr.push(ele);
}
}
filterarr.sort(function(a,b){return a-b}).map(function(i){console.log(i)});
data = data.slice(0,0);
}
})

编辑于 2016-08-11 22:57:24
 
import java.util.*; //测试数据有多组 public class Main{     public static void main(String[] args){         int N=0;         Set<Integer> set=new TreeSet<Integer>();         //set没有排序的方法, 		//可以Set set = new TreeSet() 		//TreeSet存储的时候已经是排好序的         Scanner scanner=new Scanner(System.in);         while(scanner.hasNext()){             N=scanner.nextInt();             set.clear();             for(int i=0;i<N;i++){                 set.add(scanner.nextInt());             }             Iterator<Integer> it=set.iterator();             while(it.hasNext()){                 System.out.println(it.next());             }         }     }      } 

编辑于 2016-06-27 12:00:27

/*
*解题思路的话,桶式排序没什么可说的。
*就是题目说,多组输入一开始没明白什么意思。
*多组输入的话注意两点吧:
*1.while( scanf( "%dn", Num ) != EOF ) 用此条件保证能够多组输入。
*2.每次输出数据的同时顺带清空桶式排序中的“桶”。保证输出完一组数据之后,桶是空的(桶中所有元素为0),下一组输入可以继续使用。
*/
#include<stdio.h>

int main()
{
int Bucket[ 1001 ] = { 0 };
int Num;
int Tmp;
int i;
while( scanf( "%d", &Num ) != EOF ){
while( Num > 0 ){
scanf( "%d", &Tmp );
Bucket[ Tmp ] = 1;
Num–;
}
for( i = 1; i <= 1000; ++i ){
if( Bucket[ i ] != 0 ){
printf( "%dn", i );
Bucket[ i ] = 0;
}
}
}

return 0;
}

编辑于 2019-08-15 00:08:56
1)hash表 2)STL的set #include<iostream> #include<set> #include<vector>  using namespace std;  int main(){          //用一个数组作为哈希表     /*int n;     while(cin>>n){           vector<int> input(1001,0);         int tmp;  		for(int i = 0; i < n; ++i){             cin>>tmp;             input[tmp]++;         }         for(int i = 1; i <= 1000; ++i){             if(input[i] > 0)                  cout<<i<<endl;         }     }*/          //使用stl的set     int n;     set<int> intSet;     while(cin>>n){         int tmp;         for(int i = 0; i < n; ++i){             cin>>tmp;             intSet.insert(tmp);         }         set<int>::iterator it;         for( it = intSet.begin(); it != intSet.end(); ++it)             cout<<*it<<endl;         intSet.clear();     }      	return 0; }

11:15
#include<iostream> #include<algorithm> using namespace std;  int main()  {     int n;     int c;     while(cin>>n)     {        int *a=new int[n];动态分配数组a       for(int i=0;i<n;i++)        {          cin>>c;           a[i]=c;               }            sort(a,a+n);               for(int i=0;i<n;i++)        {          if(a[i]!=a[i+1])              cout<<a[i]<<endl;        }    		 delete []a;释放数组a内存     }     return 0; }  //使用set容器其实更方便,便于处理更复杂的问题; //#include<iostream> //#include<algorithm> //#include<set> //using namespace std; // //int main() // { //    int n; //    int c; //	set<int> s; //    while(cin>>n) //    { //      for(int i=0;i<n;i++) //       { //         cin>>c; //          s.insert(c);        //       }    //     //         for(set<int>::const_iterator p=s.begin();p!=s.end();p++) //       { //             cout<<*p<<endl; //       }    //		 s.clear(); //    } //    return 0; //}

40:25
while True:     try:         n=int(input())         r=[]         for i in range(n):             r.append(int(input()))         for i in sorted(set(r)):             print(i)     except:         break 

09:26

###人生苦短,我用python
import sys
while True:
    try:
        data=[]
        udata=[]
        n=int(sys.stdin.readline())
        for i in range(n):
            a=int(sys.stdin.readline())
            data.append(a)
        udata=list(set(data))
        udata.sort()
        for y in udata:
            print y
    except:
        break

32:41
//开始288通不过,后来改为while(cin>>n) 将输出放到这个while循环内,就能够通过了  #include <iostream> #include <vector> #include <algorithm>  using namespace std;  int main() { 	int n, iA;  	while (cin >> n) 	{ 		vector<int> inputArray; 		bool flag = true; 		for (int i = 0; i < n; i++) 		{ 			cin >> iA; 			for (int j = 0; j < inputArray.size(); j++) 			{ 				if (iA == inputArray[j]) 				{ 					flag = false; 					break; 				} 			} 			if (flag) 			{ 				inputArray.push_back(iA); 			} 			flag = true; 		}  		sort(inputArray.begin(), inputArray.end()); 		vector<int>::iterator it; 		for (it = inputArray.begin(); it != inputArray.end(); it++) 		{ 			cout << *it << endl; 		} 	} 	 	return 0; }

03:59

运行时间:18ms

占用内存:5348k

 while(line=readline()){     var arr = [];     for(var i = 0; i<line; i++){         arr.push(readline());     }     var arr1 = [...new Set(arr)];     //console.log(arr1);     arr1.sort(function(a,b){         return a-b;     })     //console.log(arr1);     for(var i = 0; i<arr1.length; i++){         console.log(arr1[i]);     } } 

17:42

此题解决思路是使用位图方法,或者也可以称之为hash的方法。即使用每一位为1,代表有数据,为0,代表没有数据(编写时使用bool类型代替以减少位运算的复杂操作,当然使用位运算,空间复杂度会降低8倍)。
该方法应用很广,现在的大数据处理(比如求1亿个整数的最大前10个整数,先分块,而每一小块就可以用该方法计算,最后在归并),以及sgi stl版本中的二级空间配置器,malloc的底层实现,伙伴系统等常用的内存管理中都有用到。

#include<iostream> #include<vector> int main() {      int num,tmp;     while(std::cin >> num)     {         std::vector<bool> vec(1000, false);         while(num--)         {             std::cin >> tmp;             vec[tmp - 1] = true;;         }         int num_vector = vec.size();         for(int i = 0; i < num_vector; ++i)         {             if(vec[i])             {                 std::cout << i + 1 << std::endl;             }            }     }      return 0; } 

35:14

以上就是关于问题明明生成了个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。 数据范围: ,输入的数字大小满足的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 明明生成了个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。 数据范围: ,输入的数字大小满足