程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c-關於一道OJ水牛排隊的水題, 請問大神們能不能告訴我除了常規思路,有沒有簡單一點的方法

c-關於一道OJ水牛排隊的水題, 請問大神們能不能告訴我除了常規思路,有沒有簡單一點的方法

編輯:編程綜合問答
關於一道OJ水牛排隊的水題, 請問大神們能不能告訴我除了常規思路,有沒有簡單一點的方法

Description (C語言)
John這個農民養了N頭牛 ( 1 ≤ N ≤ 1000 )。有一天,他把牛排成一行,每頭牛都有一個"品種編碼",例如,水牛的編碼都是1,黃牛是2,奶牛是3,等等,它們隨機分布在這一行中。第i頭牛的品種記錄在數組B[i]中。

農民John希望這一行牛中如果有連續一片品種相同的牛放在一起,看起來就更加爽心悅目了。於是他從這一排牛中拿走某個品種的牛,以便創造出這樣的一片。請你幫他計算一下,如果拿走某個品種的牛後,所能得到最多的品種相同的連續的牛有多少頭。

Input
第一行:總的牛的數量N

第二行至N+1行:每行是一個正整數B[i],表示第i頭牛的品種。0 ≤ B[i] ≤ 1,000,000

Output
輸出一個正整數a,表示John所能制造出的擁有相同品種的連續的牛的最大數量。

Sample Input
9
2
7
3
7
7
3
7
5
7

Sample Output
4

Hint
Sample Input的解釋:一共有9頭牛,排成一行後的品種分別是 2, 7, 3, 7, 7, 3, 7, 5, 7

Sample Output的解釋:拿掉所有品種為3的牛後,這行牛變成 2, 7, 7, 7, 7, 5, 7,這樣,就有連續4頭牛的品種是7了。

如果拿掉2,就變成 7, 3, 7, 7, 3, 7, 5, 7 ,最多只有2頭品種為7的牛連續在一起;

如果拿掉7,就變成 2, 3, 3, 5 ,就最多只有2頭品種為3的牛連續在一起;

如果拿掉5,就變成 2, 7, 3, 7, 7, 3, 7, 7 ,也是最多只有2頭品種為7的牛連續在一起;

所以,能夠得到的最大連續品種的牛的數量是4。

最佳回答:


1、找出共有幾個品種,即多少個不同的數字;
2、刪掉一個品種,計算最大連續數;
3、確定哪個品種連續數最大。
這是常規思路。好像沒什麼簡單算法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved