zoukankan      html  css  js  c++  java
  • LeetCode 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.

    Note: The sequence of integers will be represented as a string.

    网上看了下别人的解释才看懂

    1  念成  一个1   11

    11   念成两个1   21

    21  念成  一个2 一个1   1211

    1211  念成 一个1一个2两个1   111221

    代码实现

        public String countAndSay(int n) {
            int i=1;
            String result="1";
            while(i<n)
            {
                result=countAndSayString(result);
                i++;
            }
            return result;
        }
        public String countAndSayString(String str)
        {
            if(str.equals("1"))
                return "11";
            char cur=str.charAt(0);//当前数
            int count=1;//当前数个数
            StringBuilder stringBuilder=new StringBuilder();
            for(int i=1;i<str.length();i++)
            {
                if(cur==str.charAt(i))
                {
                    count++;
                    if(i==str.length()-1)
                    {
                        stringBuilder.append(count).append(cur);
                    }
                }
                else
                {
                    stringBuilder.append(count).append(cur);
                    cur=str.charAt(i);
                    count=1;
                    if(i==str.length()-1)
                    {
                        stringBuilder.append(count).append(cur);
                    }
                }
            }
            return stringBuilder.toString();
        }
  • 相关阅读:
    对象实例化内存布局与访问定位
    方法区

    本地方法栈
    本地方法接口
    虚拟机栈
    程序计数器
    运行时数据区概述及线程
    自学》2.网页弹窗计算商品价格
    自学》1.用网站发邮件
  • 原文地址:https://www.cnblogs.com/maydow/p/4631190.html
Copyright © 2011-2022 走看看