// step3 int d = Math.max(temp3, temp4); int e = Math.min(temp3, temp4); int f = 0;
if ((temp3 == 0 && temp4 == 27) || (temp3 == 27 && temp4 == 0)) { for (int u = 0; u < 28; u++) mi[u] = a[u]; } else if (temp3 == 0 || temp4 == 0) { for (int w = d + 1; w < 28; w++) { mi[f] = a[w]; f++; } for (int w2 = 0; w2 <= d; w2++) { mi[f] = a[w2]; f++; } } else if (temp3 == 27 || temp4 == 27) { for (int w3 = e; w3 < 28; w3++) { mi[f] = a[w3]; f++; } for (int w4 = 0; w4 < e; w4++) { mi[f] = a[w4]; f++; } } else { for (int m = d + 1; m < 28; m++) { mi[f] = a[m]; f++; } for (int n = e; n <= d; n++) { mi[f] = a[n]; f++; } for (int o = 0; o < e; o++) { mi[f] = a[o]; f++; } }
// for (int s = 0; s < 28; s++) { // System.out.print(mi[s] + " "); // }
// step4 int g = mi[27]; int h = 0; // System.out.println(); if (g == 27 || g == 28) { for (int v = 0; v < 28; v++) a[v] = mi[v]; } else { for (int p = g; p < 27; p++) { a[h] = mi[p]; h++; } for (int r = 0; r < g; r++) { a[h] = mi[r]; h++; } a[h] = g; }
// step5 if (a[0] == 28) { kt = a[27]; } else { kt = a[a[0]]; } // check the index of JA JB for (int s = 0; s < 28; s++) { // System.out.print(a[s] + " "); if (a[s] == 27) { temp3 = s; } else if (a[s] == 28) { temp4 = s; } } // System.out.println(); if (kt == 27 || kt == 28) { z--; // System.out.println("misaki"); } else { key[index] = kt; // System.out.println(key[index]); // System.out.println(index); index++; } // System.out.println(); }
// addition int[] se = new int[str3.length]; String[] seq = new String[str3.length];
int cnt = 0; int t = 0; //現在調べている数値が最初に出てくる位置 for( int i = 1 ; i < n ; i ++ ) { if( array[t] != array[i] ) { //今までと違う数値になった if ( i > t +1) { //次の数値の先頭(i)のが、現在の数値の先頭の隣(t+1)より大きかったら //現在の数値は2つ以上あったということ cnt ++ ; } //次からは、iの位置を先頭として調べる t = i; } }
//配列の最後に重複があっても(array[t] != array[i])で判定ができないので //ループの外で判定する if ( n > t + 1) { cnt ++ ; }