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

    Description:

    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开始,根据读音来产生新的序列,计算第n个字符串是什么。这里主要是一点:在写代码的时候

    觉得有重复的部分,臃肿了一些,然后再室友的指导下,加了一个标示字符使代码更简洁。两个都贴上

     1 class Solution {
     2 public:
     3     string countAndSay(int n) {
     4         string nows = "1";
     5         stringstream itos;
     6         
     7         for(int i=2;i<=n;i++)
     8         {
     9             char nowc = nows[0];
    10             int count =1;
    11             string read,scount;
    12             for(int j=1;j<nows.size();j++)
    13             {
    14                 if(nows[j]==nowc)
    15                     count++;
    16                 else{
    17                     itos<<count;
    18                     itos>>scount;
    19                     itos.clear();
    20                     read = read+scount+nowc;
    21                     count = 1;
    22                     nowc = nows[j];
    23                 }
    24             }
    25             itos<<count;
    26             itos>>scount;
    27             itos.clear();
    28             nows = read +scount +nowc;
    29             
    30         }
    31         return nows;
    32     }
    33 };
     1 class Solution {
     2 public:
     3     string countAndSay(int n) {
     4         string nows = "1e";
     5         stringstream itos;
     6         
     7         for(int i=2;i<=n;i++)
     8         {
     9             char nowc = nows[0];
    10             int count =1;
    11             string read,scount;
    12             for(int j=1;j<nows.size();j++)
    13             {
    14                 if(nows[j]==nowc)
    15                     count++;
    16                 else{
    17                     itos<<count;
    18                     itos>>scount;
    19                     itos.clear();
    20                     read = read+scount+nowc;
    21                     count = 1;
    22                     nowc = nows[j];
    23                 }
    24             }
    25             nows = read +'e';
    26             
    27         }
    28         string result(nows.begin(),nows.end()-1);
    29         return result;
    30     }
    31 };
  • 相关阅读:
    斯托克斯定理(Stokes' theorem)
    记号的认识、公式的理解
    记号的认识、公式的理解
    Python 金融数据分析 (一)—— 股票数据
    Python 金融数据分析 (一)—— 股票数据
    开源项目
    开源项目
    感知机模型及其对偶形式
    感知机模型及其对偶形式
    jni编译non-numeric second argument to `wordlist' function错误
  • 原文地址:https://www.cnblogs.com/soyscut/p/3787564.html
Copyright © 2011-2022 走看看