• HDU 1029


    找出至少出现了(n+1)/2次的数,排序后,a[n/2]便是所找的数!

    (因为出现次数多于一半,排序后一定横跨中间。很灵活的题,仍需要努力!)

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<string.h>
     4 #include<math.h>
     5 
     6 int cmp(const void *a,const void *b){
     7     return *(int *)a-*(int *)b;
     8 }
     9 
    10 int main(){
    11     int i,j,n,a[999999];
    12     while(scanf("%d",&n)!=EOF){
    13         for(i=0;i<n;i++){
    14             scanf("%d",&a[i]);
    15         }
    16         qsort(a,n,sizeof(int),cmp);
    17         printf("%d
    ",a[n/2]);
    18     }
    19     return 0;
    20 }
    View Code
  • 相关阅读:
    win_tc使用感受
    10进制转8进制(栈操作)
    动态栈
    数组
    单链表学习
    static用法
    基础2
    linux c first
    linux net command /uboot command
    opencv
  • 原文地址:https://www.cnblogs.com/daic/p/4857752.html
Copyright © 2020-2023  润新知