Методы печати частоты элементов в отсортированном массиве в Java

Чтобы напечатать частоту всех элементов отсортированного массива в Java, вы можете использовать различные методы. Вот несколько разных подходов:

Метод 1: линейное сканирование

  1. Инициализировать переменную countзначением 1.
  2. Перебрать отсортированный массив, начиная со второго элемента.
  3. Сравните текущий элемент с предыдущим элементом.
    • Если они одинаковые, увеличьте переменную count.
    • Если они разные, выведите предыдущий элемент и его частоту (count), а затем сбросьте countна 1.
  4. Выведите последний элемент и его частоту.

Метод 2: HashMap

  1. Создайте HashMap для хранения элементов и их частот.
  2. Перебрать отсортированный массив.
  3. Проверьте, существует ли элемент как ключ в HashMap.
    • Если да, увеличьте соответствующее значение (частоту) на 1.
    • Если это не так, добавьте элемент в качестве нового ключа и установите его значение 1.
  4. Распечатать элементы и их частоты из HashMap.

Метод 3: двоичный поиск

  1. Пройтись по отсортированному массиву и использовать двоичный поиск, чтобы найти первое и последнее вхождение каждого элемента.
  2. Рассчитайте частоту каждого элемента, вычитая индекс первого появления из индекса последнего появления и прибавляя 1.
  3. Выведите элементы и их частоты.

Метод 4: два указателя

  1. Используйте два указателя: iи j, инициализированные значением 0.
  2. Перебрать отсортированный массив с помощью указателя i.
  3. Увеличивать указатель jдо тех пор, пока элемент с индексом jне будет отличаться от элемента с индексом i.
  4. Распечатайте элемент с индексом iи его частоту (jминус i), затем обновите iдо j.