zoukankan      html  css  js  c++  java
  • countAndSay

     外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:
    
    1.     1
    2.     11
    3.     21
    4.     1211
    5.     111221
    1 被读作  "one 1"  ("一个一") , 即 11。
    11 被读作 "two 1s" ("两个一"), 即 21。
    21 被读作 "one 2",  "one 1" ("一个二" ,  "一个一") , 即 1211。
    
    给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。
    
    注意:整数序列中的每一项将表示为一个字符串。
    
    public String countAndSay(int n) {
            int cnt = 1;
            int i = 0;
            if(n == 1){
                return "1";
            }
            String s =  countAndSay(n-1);
            StringBuilder res = new StringBuilder();
            for(i = 1; i < s.length(); i++){
                if(s.charAt(i) == s.charAt(i-1)){
                    cnt ++;
                }else{
                    res.append(String.valueOf(cnt)).append(s.charAt(i-1));
                    cnt = 1;
                }
            }
          // 处理最后一位的数据
            if(i == s.length()) {
                res.append(String.valueOf(cnt)).append(s.charAt(i-1));
            }
            return res.toString();
        }
    
  • 相关阅读:
    0325JavaScript
    0322css样式表,选择器
    0320表单
    0313函数
    0312数组
    0311类
    0309笔记整理
    进制转换
    Xcode快捷键大全
    Android LearningNotes
  • 原文地址:https://www.cnblogs.com/athony/p/13029137.html
Copyright © 2011-2022 走看看