私は初心者です。私は、この問題に関して、私のコードがすべての/ほとんどのテストケースを満たすことに失敗したことに気づいた。テストケースが満足できない
質問:
番号の配列が与えられると、最小と最大の要素が同一である非空サブアレイの数を見つけます。
例:
入力:配列= [1、1,3]
出力:4
説明:
必要なサブ配列は[1]、[1]、[3]、[1,1]
私のソリューション:
は配列をソートし、問題を解決します。
コード:
for(int i = 0; i < testCases; i++){
int arraySize = in.nextInt();
int array[] = new int[arraySize];
for(int j = 0; j < arraySize; j++){
array[j] = in.nextInt();
}
temp[i] = (findSubArrays(array));
}
for(int i = 0; i < testCases; i++){
System.out.println(temp[i]);
}
private static int findSubArrays(int[] array) {
Arrays.sort(array);
//Since each element can form a sub-array of its own
int noOfSubArrays = array.length;
for(int i = 0; i < array.length-1; i++){
if(array[i] == array[i+1]){
noOfSubArrays++;
}
}
return noOfSubArrays;
}
誰が並べ替えについて何を言ったのですか? – shmosel
並べ替えに関して、私はそれが起こらなければならないどこに指定されて表示されません。おそらくサブアレイ内の数字の順序は関係がないと指定されていますか?それとも反対ですか?それが明記されていない場合、私はあなたが順序を変更することは許されていないと仮定し、各サブ配列内の順序が重要であると考えます。意味[6,8,7]は[6,7,8]と同じとはみなされません。 –
サンプルの入出力がありますか、またはテストする場所はありますか? – shmosel