亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java 返回數組連續重復元素的最大次數

java 返回數組連續重復元素的最大次數

一只甜甜圈 2018-08-29 14:14:51
maxNumRepeated([],4) --> 0 maxNumRepeated([1],4) --> 0 maxNumRepeated([1,4,3],4) --> 1maxNumRepeated([1,4,3,4,4,3],4) --> 2 maxNumRepeated([1,4,4,4,3],4) --> 3maxNumRepeated([1,4,3,4,3,4],4) --> 1public static int maxNumRepeated(Integer[] a, Integer elem) {int cont = 1;int cont2 = 0;int maxNum = 0;if(a.length==1&&a[0].equals(elem)){maxNum = 1;}else if(a.length==0){maxNum = 0;}else {for(int i = 0;i<a.length-1;i++){if(a[i].equals(elem)){if(a[i].equals(a[i+1])){cont++;}maxNum = cont;}}}return maxNum;}java菜鳥求助啊maxNumRepeated ([1,1,3,3,3,3,2,3,3,3],3)返回的是 6 怎么改才能 返回4呢忽略 count2 忘了去掉了
查看完整描述

3 回答

?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

使用里面的案例,測試過的。

~~~~~~~~~~~~~~~~~~~~~~~~~


查看完整回答
反對 回復 2018-09-22
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

你程序的邏輯是前后相等就加1,所以在在上面的1,1計數了1次,在中間4個3就是3次,加上最后的三個3是2次,結果當然就是6了。要改的話,前面的判斷沒啥必要可以去掉,改成


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

public static int maxNumRepeated(int[] a, int elem)

{

    int cont = 0;

    int maxNum = 0;

    for (int i = 0; i < a.length; i++)

    {

        if (a[i] == elem)

        {

            cont++;

            if (cont > maxNum) maxNum = cont;

        }

        else cont = 0;

    }

    return maxNum;

}


查看完整回答
反對 回復 2018-09-22
  • 3 回答
  • 0 關注
  • 1321 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號