1 条题解

  • 0
    @ 2023-6-11 12:20:56

    C :

    #include<stdio.h>
    
    void sort(int*a,int n)
    {
    	int i,j,t=0;
    	for(i=0;i<n-1;i++)
    	{
    		for(j=0;j<n-1-i;j++)
    		{   
    		    if(a[j]>a[j+1])
    			{
    				t=a[j];
    			    a[j]=a[j+1];
    			    a[j+1]=t;
    			}
    		}
    	}
    }
    main()
    {
    	int i,n,num=1;
    	scanf("%d",&n);
    	int a[n];
    	for(i=0;i<n;i++)
    	{
    		scanf("%d",&a[i]);
    	}
    	sort(a,n);
    
    	for(i=0;i<n;i++)
    	{
    		if(a[i]==a[i+1])
    		{
    			num++;
    		}
    		else
    		{
    				printf("%d %d\n",a[i],num);
    		num=1;
    		}
    	
    	}
    }
    

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int n,a[1010],s=0;
    	cin>>n;
    	for(int i=0;i<n;i++)
    	{
    		cin>>a[i];
    	}
    	sort(a,a+n);
    	for(int i=0;i<n;i++)
    	{
    		s++;
    		if((i==n-1)||(a[i]!=a[i+1]))
    		{
    			cout<<a[i]<<' '<<s<<endl;
    			s=0;
    		}	
    	}
    	return 0;
    }
    

    Java :

    import java.util.*;
    import java.util.List;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            int n=sc.nextInt();
            List<Integer > list=new ArrayList<>();
        //    Set<Integer> set = new HashSet<>();
            for(int i=1;i<=n;i++){
              //  set.add(sc.nextInt());
                list.add(sc.nextInt());
            }
          //  System.out.println(list);
            Collections.sort(list, new Comparator<Integer>() {
                @Override
                public int compare(Integer o1, Integer o2) {
                    if(o1>o2){
                        return 0;
                    }else {
                        return -1;
                    }
                }
            });
            List<Integer> newList = new  ArrayList<>();
            List<String > l1 = new  ArrayList<>();
            for (Integer cd:list) {
                if(!newList.contains(cd)){
                    newList.add(cd);
                }
            }
         //   System.out.println( "去重后的集合: " + newList);
    
         //   System.out.println(list);
            for(int i=0;i<list.size();i++){
                int c=0;
                for (int j=0;j<list.size();j++){
                    if((int)(list.get(i))==(int)(list.get(j))){
                        c++;
                    }
                }
              //  if((int)(newList.get(i))!=(int)(newList.get(i+1))) {
              //      System.out.println(list.get(i) + " " + c);
                l1.add(list.get(i) + " " + c);
        //        System.out.println(l1.get(i));
              //  }else if(c==1){
              //      System.out.println(newList.get(i) + " " + c);
              //  }
    
    
            }
            List<String > l2 = new  ArrayList<>();
            for (String cd:l1) {
                if(!l2.contains(cd)){
                    l2.add(cd);
                }
            }
            for(int i=0;i<l2.size();i++) {
                System.out.println(l2.get(i));
            }
          // if(list.get(list.size()-1)!=list.get(list.size()-2)){
          //      System.out.println(list.get(list.size()-1) + " " +c);
            }
       //     System.out.println(list.get(list.size()-1) + " " );
        }
    
    

    Python :

    n = int(input())
    a = input().split()
    # 类型转换,字符串列表转成整型列表
    for i in range(0, n):
        a[i] = int(a[i])
    # 从小到大排序
    a.sort()
    # 统计连续数字个数
    c = 1
    # 1~n-1
    for i in range(1, n):
        # 从第二个数字开始,看是否与前一个数相同,如果相同c就加1
        if a[i] == a[i - 1]:
            c += 1
        # a[i]!=a[i-1],输出之前的数字
        else:
            # 输出之前数字,和相应的次数
            print(a[i - 1], c)
            # 出现次数清零
            c = 1
    # 循环结束,判断c的值,要注意最后一个数没有比较,需要单独考虑
    if c > 0:
        print(a[n - 1], c)
    
    • 1

    【基础】统计每个数出现的次数

    信息

    ID
    2623
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者