leecode countandsay(數列模擬)

2021-07-22 22:52:20 字數 1155 閱讀 1859

題意:the count-and-say sequence is the sequence of integers beginning as follows:

1, 11, 21, 1211, 111221, ...

1is read off as"one 1"or11.

11is read off as"two 1s"or21.

21is read off as"one 2, thenone 1"or1211.

given an integer n, generate the n

th sequence.

note: the sequence of integers will be represented as a string.

解析:

模擬即可。

n=1     數列為 1

n=2 數列為11

n=3數列為21

n=4數列為1211

n=5 數列為111221

當n=2的時候我們可以看數列1 都有哪些數字,n=3的時候我們看數列2都有哪些數字,這樣一次次的模擬即可。

利用兩個臨時string,如此反覆。

string countandsay(int n) 

} str2 = str2 + char(counting + '0') + ch;

str = str2;

} return str;

}

解釋如下:

假設n = 4  數列為1211  我們現在要求n=5的數列。

我們就可以根據 1211 來模擬。

第一步:初始的時候,我們遍歷到當前的字元時,如果跟上乙個字元不相同,則對str2賦值,str2=str2+char(counting+'0')+chl,並對新的數字重新計算counting = 1,ch=str[j]。

如果當前的字元與上乙個相同,那麼使counting++。

當這一次遍歷結束時,把值賦給str,並進行繼續迴圈 求下乙個n。  

python 仿函式 C 仿函式

c 的標準庫stl裡面有6大部件,其中之一為仿函式。初始看到這一名字可能讓人摸不著頭腦 函式倒是挺容易理解,何故又起個仿函式的名字呢?本文將帶你揭開它看起來挺讓人迷惑但是實際上很簡單的面紗。仿函式,看名字就知道它肯定和函式有什麼關聯,但是也肯定和函式有什麼區別。函式主要是一塊接收輸入引數然後按照一定...

仿射函式和仿射組合

假設f是乙個矢性函式,若它可以表示為f x1,x2,xn a1x1 a2x2 anxn b,其中ai可以是標量,也可以是矩陣,則稱f是仿射函式。矢性函式定義 標性函式f x ax b 即我們通常見到的函式 其中a x b都是標量。維基百科的解釋 affine combination,a certai...

仿指標類與仿函式類

乙個類,如果它的物件使用時像是指標,或者函式那麼這個類就是乙個仿指標類與仿函式類。在使用指標時,我們使用的運算子通常是 對於函式我們使用的是函式呼叫運算子,也就是 因此要使得乙個類像指標,那麼類內過載指標所使用的運算子不就行了。同理,要使得類像乙個函式,那麼類內過載函式呼叫符就行了。智慧型指標 乙個...