zoukankan      html  css  js  c++  java
  • #1004 Let the Balloon Rise

    http://acm.hdu.edu.cn/showproblem.php?pid=1004

    输入一些字符串,输出其中出现次数最多的字符串。

     1 #include<stdio.h>
     2 #include<string.h>
     3 
     4 int main()
     5 {
     6     int N, num[1000] = { 0 };
     7     int lop, lop2, max, t;
     8     char color[1000][16] = { 0 };
     9     while (scanf("%d", &N) != EOF && N)
    10     {
    11         memset(color, 0, sizeof(color));
    12         memset(num, 0, sizeof(num));
    13         for (lop = 0; lop < N; lop++)
    14         {
    15             scanf("%s", color[lop]);
    16         }
    17         for (lop = 0; lop < N - 1; lop++)
    18         {
    19             for (lop2 = lop+1; lop2 < N; lop2++)
    20             {
    21                 if (!strcmp(color[lop], color[lop2]))
    22                 {
    23                     num[lop]++;
    24                 }
    25             }
    26         }
    27         max = num[0];
    28         t = 0;
    29         for (lop = 1; lop < N; lop++)
    30         {
    31             if (max < num[lop])
    32             {
    33                 max = num[lop];
    34                 t = lop;
    35             }
    36         }
    37         printf("%s
    ", color[t]);
    38     }
    39     return 0;
    40 }

    我这是比较蠢的办法,所有字符串先输入完,再来一个个比,一样的计数就加1,最后再求一次计数最大的那个,十分麻烦。

    似乎可以每输入一个字符串就对已有的所有字符串进行一次比较,应该能更好一点。

  • 相关阅读:
    Spring Boot 之Profile
    Spring Security初识
    Github使用进阶
    数据库JDBC
    Java内存模型(JMM)的可见性
    Spring Boot 整合Spring Data JPA
    Git版本控制工具初识
    Linux美化——终端提示符
    Python's Exception 层级结构
    试写Python内建函数range()
  • 原文地址:https://www.cnblogs.com/makejeffer/p/4752106.html
Copyright © 2011-2022 走看看