1 条题解
-
0
C :
#include<stdio.h> int a[101],b[1001]; int main() { int i,n,t,c=0; scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&a[i]); t=a[i]; if(b[t]==0){ c++; } b[t]++; } printf("%d\n",c); for(i=0;i<=1000;i++){ if(b[i]>0){ printf("%d\n",i); } } return 0; }C++ :
#include <iostream> #include <iomanip> #include <cmath> using namespace std; int main(){ int n,k,j,t,i,a[1000],s[1000]={0},c=0; bool f=false; cin>>n; for(i=0;i<n;i++){ cin>>a[i]; } for(i=0;i<n;i++){ for(j=0;j<n-i-1;j++){ if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(i=0;i<n;i++){ for(j=0;j<i;j++){ if(a[i]==s[j]){ f=true; } } if(f!=true){ s[i]=a[i]; c++; } f=false; } cout<<c<<endl; for(i=0;i<n;i++){ if(s[i]!=0){ cout<<s[i]<<endl; } } }Pascal :
var a,b:array[1..1000000] of longint; i,c,s:longint; begin read(c); for i:=1 to c do read(a[i]); for i:=1 to c do b[a[i]]:=b[a[i]]+1; for i:=1 to 1000000 do if b[i]<>0 then inc(s); writeln(s); for i:=1 to 1000000 do if b[i]<>0 then writeln(i); end.Java :
import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Scanner; public class Main{ public static void main(String[] args) { List<Integer> sortList=new ArrayList<Integer>(); HashSet<Integer> hs=new HashSet<Integer>(); Scanner scanner = new Scanner(System.in); String n = scanner.nextLine(); if(scanner.hasNext()){ String numberString=scanner.nextLine(); String[] strArray=numberString.split(" "); for(int i=0;i<strArray.length;i++){ if(!"".equals(strArray[i])){ int a=Integer.valueOf(strArray[i]); hs.add(a); } } sortList.addAll(hs); Collections.sort(sortList); System.out.println(sortList.size()); for(Integer num:sortList){ System.out.println(num); } } } }Python :
n=int(input()) l1=list(map(int,input().split())) l2=[] l3=[] for i in range(0,1001): l2.append(0) for i in l1: l2[i]+=1 #得出l1中所有数的重复次数 for i in l1: if l2[i]>1: l1.remove(i) print(len(l1)) l1.sort() for j in l1: print(j)
- 1
信息
- ID
- 178
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 18
- 已通过
- 1
- 上传者