leetcode38. Столбцы Внешние

«Внешний вид число столбцов» представляет собой последовательность целых чисел, начиная с номером 1, является описанием предыдущего каждого элемента в последовательности. Первые пять заключаются в следующем:

1.1
2.11
3.21
4,1211
5,111221
1 читается как "один 1" ( "а а"), то есть, 11.
11 читается как "два 1s" ( "два в одном"), то есть 21.
21 читается как "один 2", "один 1 " ( " два", "а а"), то есть, 1211.

Учитывая положительное целое число N (1 ≤ N ≤ 30), термин выходного внешнего вида п-й серии.

Примечание: Каждая последовательность целых чисел будет представлена ​​в виде строки.

 

Пример 1:

Вход: 1
Выход: «1»
Пояснение: Это базовый образец.
Пример 2:

Входной сигнал: 4
Выход: «+1211»
Объяснение: При п = 3, то последовательность «21», что мы имеем «2» и «1» группы «2» может быть прочитана как «12», то есть частоты встречаемости = = 1 , а значение 2, аналогично «1» может быть прочитана как «11.» Так что ответ «12» и «11» объединяются, то есть, «1211»

 Идеи: трудности в понимании проблемы можно после понимания может быть смоделировано. См, в частности коды.

class Solution {
    /**
     * 难点:报数的概念理解
     * 从4->5分析,将4个每一位拆开看(个数+数字),4=1211 => 1=11,2=12,11=21,所以5=111221
     * 模拟出来过程即可
     */
    public String countAndSay(int n) {
        String str = "1";
        for (int i = 2; i <= n; i++) {
            StringBuilder builder = new StringBuilder();
            char pre = str.charAt(0);
            int count = 1;
            for (int j = 1; j < str.length(); j++) {
                char c = str.charAt(j);
                if (c == pre) {
                    count++;
                } else {
                    builder.append(count).append(pre);
                    pre = c;
                    count = 1;
                }
            }
            builder.append(count).append(pre);
            str = builder.toString();
        }
        return str;
    }
}

 

Опубликовано 446 оригинальные статьи · вона похвала 6751 · Просмотров 1,02 млн +

рекомендация

отblog.csdn.net/hebtu666/article/details/104060737