日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode之Count and Say

發布時間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode之Count and Say 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、題目

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"?or?1211.

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

Note: Each term of the sequence of integers will be represented as a string.

Example 1:

Input: 1 Output: "1"

?

Example 2:

Input: 4 Output: "1211"

Exapmle

?

// 1 1// 2 11// 3 21// 4 1211// 5 111221// 6 312211// 7 13112221 ?

?

?


2、代碼實現

public class Solution {public String returnLast(String s) {if (s == null || s.length() == 0)return null;String result = "";int length = s.length();if (length == 1) {return "1" + s;}int count = 1;int init = s.charAt(0);for (int i = 1; i < s.length(); i++) {if (s.charAt(i) == s.charAt(i - 1)) {count++;if (i == length - 1) {char ss = s.charAt(i - 1);result = result + count + s.charAt(i - 1);}} else {char ss = s.charAt(i - 1);result = result + count + s.charAt(i - 1);count = 1;if (i == length - 1) {result += ("1" + s.charAt(i));}}}return result;}public String countAndSay(int n) {if (n <= 0)return null;if (n == 1) return "1";else {return returnLast(countAndSay(n - 1));}} }
?

?


3、總結

1、用遞歸方法 2、我們遞歸的時候,先實現默認包含字符串,如何得到下一個字符串,這也是我們需要把每次得到的結果遞歸,所以,我們先寫個函數簡單實現從這個字符串如果得到下一個字符串 3、我們在寫遞歸公共函數的實現時候,要注意,末尾和數字前一位是否相同和不同的情況。

總結

以上是生活随笔為你收集整理的LeetCode之Count and Say的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。