Упражнения на Java: найти новую длину заданного отсортированного массива
Java Basic: упражнение-132 с решением
Напишите программу на Java, чтобы найти новую длину заданного отсортированного массива, в котором дублирующиеся элементы появлялись не более двух раз.
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.Arrays;
class Solution {
static int remove_Duplicates_twice(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
int index = 1;
for (int i = 2; i < nums.length; i++) {
if (nums[i] != nums[index] || (nums[i] == nums[index] && nums[i] != nums[index - 1])) {
index++;
nums[index] = nums[i];
}
}
return index + 1;
}
/* Driver program to test above functions */
public static void main(String[] args)
{
int[] nums = {1,1,2,3,3,3,4,5,6,7,7,7,7};
System.out.println("Original array: "+Arrays.toString(nums));
System.out.println("The length of the original array is: " + nums.length);
System.out.println("After removing duplicates, the new length of the array is: " + remove_Duplicates_twice(nums));
}
}
Пример вывода:
Исходный массив: [1, 1, 2, 3, 3, 3, 4, 5, 6, 7, 7, 7, 7] Длина исходного массива: 13 После удаления дубликатов новая длина массива: 10
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Java, чтобы найти новую длину заданного отсортированного массива, где каждый элемент появляется только один раз (удалите дубликаты).
Далее: Напишите программу на Java, чтобы найти путь сверху вниз в правом направлении, который минимизирует сумму всех чисел вдоль ее пути.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code