亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

騰訊的一道筆試算法題解答

時(shí)間:2020-10-17 10:55:53 筆試題目 我要投稿

騰訊的一道筆試算法題解答

假設(shè)有這樣一種字符串,它們的長(zhǎng)度不大于 26 ,而且若一個(gè)這樣的字符串其長(zhǎng)度為 m ,則這個(gè)字符串必定由 a, b, c ... z 中的前 m 個(gè)字母構(gòu)成,同時(shí)我們保證每個(gè)字母出現(xiàn)且僅出現(xiàn)一次。比方說(shuō)某個(gè)字符串長(zhǎng)度為 5 ,那么它一定是由 a, b, c, d, e 這 5 個(gè)字母構(gòu)成,不會(huì)多一個(gè)也不會(huì)少一個(gè)。嗯嗯,這樣一來(lái),一旦長(zhǎng)度確定,這個(gè)字符串中有哪些字母也就確定了,唯一的區(qū)別就是這些字母的前后順序而已。

現(xiàn)在我們用一個(gè)由大寫(xiě)字母 A 和 B 構(gòu)成的序列來(lái)描述這類字符串里各個(gè)字母的前后順序:

如果字母 b 在字母 a 的后面,那么序列的第一個(gè)字母就是 A (After),否則序列的第一個(gè)字母就是 B (Before);
如果字母 c 在字母 b 的后面,那么序列的第二個(gè)字母就是 A ,否則就是 B;
如果字母 d 在字母 c 的后面,那么 …… 不用多說(shuō)了吧?直到這個(gè)字符串的結(jié)束。

這規(guī)則甚是簡(jiǎn)單,不過(guò)有個(gè)問(wèn)題就是同一個(gè) AB 序列,可能有多個(gè)字符串都與之相符,比方說(shuō)序列“ABA”,就有“acdb”、“cadb”等等好幾種可能性。說(shuō)的`專業(yè)一點(diǎn),這一個(gè)序列實(shí)際上對(duì)應(yīng)了一個(gè)字符串集合。那么現(xiàn)在問(wèn)題來(lái)了:給你一個(gè)這樣的 AB 序列,問(wèn)你究竟有多少個(gè)不同的字符串能夠與之相符?或者說(shuō)這個(gè)序列對(duì)應(yīng)的字符串集合有多大?注意,只要求個(gè)數(shù),不要求枚舉所有的字符串。

#include <iostream>
using namespace std;
int main()
{
  char *ch=”ABAB“;
  cout<<Count(1,1,ch)<<endl;
  return 0;
}


int Count(int left,int right,char *p)
{
    if(*(p+1)=='\0')
     return *p=='A'?right:left;

    int Sum=0;
    if(*p=='A')
    {
      p++;
     for(int j=0;j<right;j++)
       Sum=Count(++left,right-j,p);
    }
    else
    {
      p++;
     while(int j=0;j<left;j++)
       Sum=Count(left-j,right++,p);
    }
    return Sum;   
}

騰訊的一道筆試算法題解答

【騰訊的一道筆試算法題解答】相關(guān)文章:

騰訊技術(shù)筆試題12-20

騰訊運(yùn)營(yíng)筆試題12-20

2017騰訊筆試題07-21

騰訊運(yùn)營(yíng)的筆試題目01-16

騰訊前端筆試題目01-15

騰訊商業(yè)分析筆試題06-28

騰訊校招筆試題01-16

騰訊技術(shù)筆試題目01-16

騰訊技術(shù)綜合筆試題01-15

騰訊筆試題目初試11-13