5.Leetcode 38:Count and Say 笔记

1:题目描述

Given an integer n, generate the nth term of the count-and-say sequence.

找规律,给定一个数n后,写出第n行的字符串

2:题目分析

突然发现自己的Say实在不发达,看了半个多小时才知道咋回事。n就是再说n-1行的内容:“有‘x1’个‘num1’和‘x2’个‘num2’……”,分析完毕,开始写代码

3:解题思路

 1 class Solution(object):
 2     def countAndSay(self, n):
 3         """
 4         :type n: int
 5         :rtype: str
 6         """
 7         num=‘1‘
 8         temp_nums=‘‘
 9         nums=‘1‘
10         for i in range(1,n):
11             num=nums[0]
12             j=0
13             count=0                #计数器
14             while j<len(nums):#遍历字符串
15                 if num==nums[j]: #num与当前字符相同,count+1
16                     count+=1
17                 else:
18                     temp_nums+=(str(count)+num) #否则,将count与num接在temp_nums后面
19                     num=nums[j]    #num替换为当前字符
20                     count=1             #从1开始计数
21                 if j==len(nums)-1: #很重要!很重要!很重要!
22                     temp_nums+=(str(count)+num)
23                     nums=temp_nums #得到第n行的字符串
24                     temp_nums=‘‘   #清空临时字符串
25                     break
26                 j+=1
27         if nums==‘1‘: # 以上并不能输出n=1的情况,因为上面是range(1,n)
28             return nums
29         else:
30             return nums

4:解题感悟

①标注’很重要‘的部分,给我一个能够妥善处理字符串最后一个字符的办法(这可是我绞尽脑仁两个小时后的产物啊ε=(′ο`*))))

②这个题交给python处理的确很方便,但自己确实不大会say,多锻炼锻炼吧 ヾ(?°?°?)??



原文地址:https://www.cnblogs.com/19991201xiao/p/8407141.html

时间: 2024-10-30 11:38:19

5.Leetcode 38:Count and Say 笔记的相关文章

leetCode 38. Count and Say 字符串

38. 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" 

LeetCode 38 Count and Say(字符串规律输出)

题目链接:https://leetcode.com/problems/count-and-say/?tab=Description 1—>11—>21—>1211—>111221—>312211—>…. 按照上面的规律进行求解出第n个字符串是什么. 规律:相连的数字有多少个然后添加上这个数字 参考代码: package leetcode_50; /*** * * @author pengfei_zheng * 按照规律进行求解字符串 */ public class So

Java [leetcode 38]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.

leetCode 38.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" o

[LeetCode 38] 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 on

[LeetCode] 38. Count and Say 计数和读法

The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 2. 11 3. 21 4. 1211 5. 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

LeetCode 38 Count and Say(C,C++,Java,Python)

Problem: 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 121

19.2.3 [LeetCode 38] Count and Say

The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 2. 11 3. 21 4. 1211 5. 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

LeetCode:Count and Say

1.题目名称 Count and Say(按照数字重复出现计数并生成字符串) 2.题目地址 https://leetcode.com/problems/count-and-say/ 3.题目内容 英文:The count-and-say sequence is the sequence of integers beginning as follows 中文:给出正整数n,返回"count-and-say"序列的第n项 说明: count-and-say序列形如:1, 11, 21, 1