The count-and-say sequence is a sequence of digit strings defined by the recursive formula:
countAndSay(1) = “1”
countAndSay(n) is the way you would “say” the digit string from countAndSay(n-1), which is then converted into a different digit string. To determine how you “say” a digit string, split it into the minimal number of groups so that each group is a contiguous section all of the same character. Then for each group, say the number of characters, then say the character. To convert the saying into a digit string, replace the counts with a number and concatenate every saying.
For example, the saying and conversion for digit string “3322251”:
Given a positive integer n, return the nth term of the count-and-say sequence.
Example 1:
Input: n =1 Output:"1" Explanation: This is the base case.
Example 2:
Input: n =4 Output:"1211" Explanation: countAndSay(1)="1" countAndSay(2)= say "1"= one 1="11" countAndSay(3)= say "11"= two 1's ="21" countAndSay(4)= say "21"= one 2+ one 1="12"+"11"="1211"
Constraints:
1 <&#61; n <&#61; 30
思路
题目的定义就是递归定义的&#xff0c;所以用递归解题~
题解
classSolution{public String countAndSay(int n){if(n&#61;&#61;1)return"1";else{String s &#61;countAndSay(n-1);String str &#61;"";int len &#61; s.length();int i &#61; len-1;while(i>&#61;0){int cnt &#61;0;char a &#61; s.charAt(i);while(i>&#61;0&&s.charAt(i)&#61;&#61;a){cnt&#43;&#43;;i--;}str &#61;cnt&#43;""&#43;a&#43;str;cnt &#61;0;}return str;}} }
在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ...
[详细]