zoukankan      html  css  js  c++  java
  • Count and Say

    Count and Say

    问题:

    The count-and-say sequence is the sequence of integers beginning as follows:
    1, 11, 21, 1211, 111221, ...

    1 is read off as "one 1" or 11.
    11 is read off as "two 1s" or 21.
    21 is read off as "one 2, then one 1" or 1211.

    Given an integer n, generate the nth sequence.

    思路:

      简单的数学推导而已

    我的代码:

    public class Solution {
        public String countAndSay(int n) {
            if(n <= 0)  return "";
            String rst = "1";
            for(int i = 1; i < n; i++)
            {
                String tmp = "";
                int len = rst.length();
                for(int j = 0; j < len; j++)
                {
                    int count = 1;
                    while(j < len-1 && rst.charAt(j) == rst.charAt(j+1))
                    {
                        count++;
                        j++;
                    }
                    tmp += String.valueOf(count) + String.valueOf(rst.charAt(j));
                }
                rst = tmp;
            }
            return rst;
        }
    }
    View Code

    学习之处:

    • int char String相互转化方法  String.valueOf  Integer.valueOf Character.valueOf
  • 相关阅读:
    [luogu5665]划分
    [luogu5666]树的重心
    [bzoj1854]游戏
    [bzoj1853]幸运数字
    [bzoj2245]工作安排
    [bzoj1426]收集邮票
    [bzoj2396]神奇的矩阵
    [bzoj1858]序列操作
    [bzoj1863]皇帝的烦恼
    [bzoj1432]Function
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4342934.html
Copyright © 2011-2022 走看看