演算法題(320 快手模擬)

2021-09-12 23:50:07 字數 1660 閱讀 3436

前幾個月放映的頭號玩家簡直火得不能再火了,作為乙個探索終極ai的研究人員,月神自然去看了此神劇。

由於太過興奮,晚上月神做了乙個奇怪的夢,月神夢見自己掉入了乙個被施放了魔法的深淵,月神想要爬上此深淵。

已知深淵有n層台階構成(1 <= n <= 1000),並且每次月神僅可往上爬2的整數次冪個台階(1、2、4、…),請你程式設計告訴月神,月神有多少種方法爬出深淵

要點:動態規劃,類似於爬樓梯,只不過累計求和的不是往前數的兩階,而是2的所有冪階。根據 ,輸出資料還是要mod 1000000003。

#include

#include

using

namespace std;

intmain()

v.push_back

(num);}

cout<(i1)cout<}return0;

}

通過鍵盤輸入一串小寫字母(a~z)組成的字串。

請編寫乙個字串歸一化程式,統計字串中相同字元出現的次數,並按字典序輸出字元及其出現次數。

例如字串"babcc"歸一化後為"a1b2c2"

之前做過一道類似的題,於是無腦上了python

x=

input()

d=dict()

r=''

for i in

range

(len

(x))

:if x[i]

in d:

d[x[i]]+=

1else

: d[x[i]]=

1for i in

['a'

,'b'

,'c'

,'d'

,'e'

,'f'

,'g'

,'h'

,'i'

,'j'

,'k'

,'l'

,'m'

,'n'

,'p'

,'q'

,'r'

,'s'

,'t'

,'u'

,'v'

,'w'

,'x'

,'y'

,'z']:

if i in d:

r=r+i+

str(d[i]

)print

(r)

只通過了50%,卡在了長到令人髮指的乙個case上,借用以下大佬的**

#include

#define size 128

intmain

(void);

char buf[size]

;// char c;

// while( ( c = getchar() ) != '\n' )

// count[c-'a'] ++;

fgets

(buf, size,

stdin);

int i =0;

while

( buf[i]

!='\n')}

i =0;

while

( i <26)

return0;

}

快手的題還是很靈活的

ref:

leetcode演算法題 擲骰子模擬

動態規劃 dp i j k 表示投擲第i次,點數為j,k表示連續次數狀態轉移 j出現一次的組合數等於上一輪投出非點數j的所有情況和 dp i j 1 sum dp i 1 j 本輪投出連續k次的點數j的數量情況等於上一輪連續投出k 1次的點數j的數量情況 dp i j k dp i 1 j k 1 ...

演算法課模擬題 1000 函式求值

定義超級和函式f如下 f 0,n n,對於所有的正整數n.f k,n f k 1,1 f k 1,2 f k 1,n 對於所有的正整數k和n.請實現下面solution類中計算f k,n 的函式 1 k,n 14 class solution 例1 f 1,3 6 例2 f 2,3 10 例3 f ...

演算法機考模擬題 part1

1函式求值 題目描述 定義超級和函式f如下 f 0,n n,對於所有的正整數n.f k,n f k 1,1 f k 1,2 f k 1,n 對於所有的正整數k和n.請實現下面solution類中計算f k,n 的函式 1 k,n 14 class solution 例1 f 1,3 6 例2 f 2...