2017校招真題 騰訊 編碼

2022-06-13 06:06:08 字數 848 閱讀 2097

假定一種編碼的編碼範圍是a ~ y的25個字母,從1位到4位的編碼,如果我們把該編碼按字典序排序,形成乙個陣列如下: a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy 其中a的index為0,aa的index為1,aaa的index為2,以此類推。 編寫乙個函式,輸入是任意乙個編碼,輸出這個編碼對應的index.

輸入乙個待編碼的字串,字串長度小於等於100.
輸出這個編碼的index
示例1

複製

baca

複製

16331

思路:這道題並沒有什麼太簡便的方法,就是一位一位找到比當前字串小的字串個數。

需要注意的就是當右側沒有字元時這個特殊情況,我先後寫了兩版**:

第一版:

#include#include

using

namespace

std;

intmain()

else

if(s == 2

)else

if(s == 3

)else

return0;

}

第二版:

#include#include

#include

#include

using

namespace

std;

intmain()

}cout

}

把計數情況想清楚了也就簡單了。

2017校招真題 幸運數

時間限制 1秒 空間限制 32768k 題目描述 小明同學學習了不同的進製之後,拿起了一些數字做起了遊戲。小明同學知道,在日常生活中我們最常用的是十進位制數,而在計算機中,二進位制數也很常用。現在對於乙個數字x,小明同學定義出了兩個函式f x 和g x f x 表示把x這個數用十進位制寫出後各個數字...

2017校招真題 酒店價格

題目描述 酒店房間的 錄入是通過時間段來錄入的,比如10月1日至10月7日800元,10月8日至10月20日500元,請實現以下函式int merge int daterangeprices 輸入是某個酒店多個日期段的 每個日期段 終止日期大於等於起始日期 和對應的 使用長度為3的陣列來表示,比如 ...

nowcoder 2017校招真題 保留最大的數

給定乙個十進位制的正整數number,選擇從裡面去掉一部分數字,希望保留下來的數字組成的正整數最大。輸入為兩行內容,第一行是正整數number,1 length number 50000。第二行是希望去掉的數字數量cnt 1 cnt length number 輸出保留下來的結果。輸入325 1 輸...