Я всего лишь новичок. Я столкнулся с этим вопросом, для которого мой код не удовлетворяет всем/большинству тестовых случаев.Испытательные корпуса не могут удовлетворить
Вопрос:
Дан массив чисел, найти количество непустых подмассивов, в которых минимальный и максимальный элемент идентичны.
Пример:
Входной сигнал: Array = [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