題目
如果乙個序列滿足下面的性質,我們就將它稱為擺動序列:
1. 序列中的所有數都是不大於k的正整數;
2. 序列中至少有兩個數。
3. 序列中的數兩兩不相等;
4. 如果第i – 1個數比第i – 2個數大,則第i個數比第i – 2個數小;如果第i – 1個數比第i – 2個數小,則第i個數比第i – 2個數大。
比如,當k = 3時,有下面幾個這樣的序列:
1 21 3
2 12 1 3
2 32 3 1
3 13 2
一共有8種,給定k,請求出滿足上面要求的序列的個數。
1.先找到不同的k,構成不同長度的串時(根據題目要求從2開始),能構成的滿足條件的個數。23
4522
---3
62--
41282
-52020102
2.發現只有k全部用上時,只有兩種。只用其中兩個數字的時候,就有i*(i-1),其餘的就是頭上的與頭上左邊的和。
3.最後把每種選擇加起來就可以得到結果
藍橋杯 演算法訓練 擺動序列
演算法訓練 擺動序列 時間限制 1.0s 記憶體限制 512.0mb 提交此題 錦囊1 錦囊2 問題描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第...
藍橋試題 演算法訓練 擺動序列
問題描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第i 2個數小 如果第i 1個數比第i 2個數小,則第i個數比第i 2個數大。比如,當k 3時,有...
試題 演算法訓練 擺動序列
問題描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第i 2個數小 如果第i 1個數比第i 2個數小,則第i個數比第i 2個數大。比如,當k 3時,有...