hdoj 1004 学习思路
生活随笔
收集整理的這篇文章主要介紹了
hdoj 1004 学习思路
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
hdoj 1004題目大概講的是,將輸入的字符串根據輸入次數多少,輸出出現次數最多的字符串。
題目邏輯很簡單,就是需要選擇相應的數據結構,看了別人提交的discuss,明顯發現可以使用多種數據結構解這道題。
其實我本是打算用結構體來解的,但是結構體還是不太熟,并又看了別人的代碼就不在自行考慮了。
關鍵是用兩個數組,一個是 char boloon[1000][16] ,另一個是 int num[1000] ,?
取1000是因為輸入要求N(0<N ≤ 1000), 16 是因為輸入字符串大小在0~15,再加上\0,總共16.
?
在運行程序時,將寫入的字符串存入 boloon[i], 相應的s[i] 加一,然后將此次輸入的字符串與之前已經存入所有字符穿相比,出現過相同的一次就將num[i]加一,
?
最后求出最大的num[i]的最大的i, 出現次數最多的就是 boloon[i]
參考代碼
http://acm.hdu.edu.cn/discuss/problem/post/reply.php?postid=25780&messageid=1&deep=0
我的代碼
#include <stdlib.h> #include <stdio.h> #include <string.h>int main(void) {int i, n, j, max, num[1000];char boloon[1000][16];while (scanf("%d", &n) != EOF){if (n) {for (i = 0; i < n; i++) {num[i] = 0;scanf("%s", boloon[i]);num[i] += 1;for (j = 0; j < i; j++) {if (strcmp(boloon[i], boloon[j]) == 0) {num[i] += 1;}}}max = 0;for (i = 0; i < n; i++) {if (max < num[i]) {max = num[i];j = i;}}printf("%s\n", boloon[j]);}} }?
轉載于:https://www.cnblogs.com/young-ma/p/5728025.html
總結
以上是生活随笔為你收集整理的hdoj 1004 学习思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mac 使用常见问题汇集
- 下一篇: 解决问题:无法对 System程序集 添