Это программа кодирования длин серий для назначения наших партнеров.

Мы пытаемся выполнить инструкцию по Javadoc. Пока что мы имеем это, но путаем с параметром индекса

 * Read the next run (or single character) and return the index of the symbol following the run (or symbol read).
   * Store the count and symbol for the run in the run parameter.
   * @param line - the input line being processed
   * @param index - the index of the first character in the next "run" (which might be just a single character)
   * @param run - where to store the symbol and count for the Run
   * @return the index of the symbol following the run just read
   */
  static int getNext(String line, int index, Run run) {
    line.charAt(index); //char first, something about a line
    return ?.symbol;//Store values
    run.count= ?.count; //the given number of that specific symbol or repetition
    enter code here
    run.symbol= ?.symbol; //whatever symbol you first see
    // TO BE COMPLETED

    return index+1;// just to make it advance so starter program doesn't loop infinitely
  }
}

1 ответ

Это не фактическая функция сжатия RLE, а вспомогательная функция для подсчета повторений текущего символа, который обрабатывается основной функцией сжатия RLE.

То, что это, кажется, нужно сделать, это:

  • Взять персонажа по указателю index строки lineи сохраните его в соответствующем свойстве объекта Run.
  • Перебирать символы в line следующий индекс indexДо тех пор, пока вы не встретите тот, который не равен тому, который вы взяли в начале.
  • Сохраните количество найденных повторений в соответствующем свойстве объекта Run.
  • Вернуть позицию в строке, в которой встречался неравный символ.
Другие вопросы по тегам