簡體   English   中英

檢測整數數組中的連續模式

[英]Detecting consecutive patterns in an Integer Array

在你指責這個線程是重復之前,只要意識到(從我所看到的)是在String數組中找到模式,這些模式似乎有很多額外的代碼,不需要我的目的。

如何在int數組中找到模式?
如果我有一個大於500個整數的數組,我需要連續測試~4個不同值的模式。 有什么好/快的方法呢?

這是一個例子:

17,39,78,324,43,33,234,99,34,555,39,78,324,43,45,92

很難說,但數字39,78,324,43按順序重復兩次。 這是算法需要能夠檢測的內容。

提前致謝!

你想要的可以有2個結果。

如果你只需要打印每個數字重復的次數,就可以創建2個for循環,這些循環嵌套並遍歷內部循環中的整個數組,以找到外部循環的匹配整數,一旦完成,打印次數整數重復。

如果必須存儲重復整數的次數,則可以執行相同的過程,但這次需要存儲數字以及在數組中重復的次數然后打印它。

還要記住,在這兩種情況下,您都需要創建一個數組,用於存儲已計數的數字,以便您不再計算它們。

希望這可以幫助 :)

據我了解你的問題,最簡單的解決方案是(盡管你可以提高效率)

public class FindConsecutiveNumber{

public static void main(String[] args){
    int i,j;
    int[] c = {17,39,78,324,43,33,234,99,34,555,39,78,324,43,45,92};
    for( i = 0; i < c.length; i++){
        for( j = i+1; j < c.length-i; j++)
        {
           if(c[j] == c[i]){

                  if(c[j+1] == c[i+1] && c[j+2] == c[i+2] && c[j+3] == c[i+3])
                   {
                       System.out.println(c[i] + "," +c[i+1] + ","+c[i+2] + ","+ c[i+3] );
                       break;
                   }

           } 
        }


    }
}

}

我的輸出就像這個39,78,324,43

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM