美團筆試演算法題 統計位數

2021-08-19 03:40:09 字數 1197 閱讀 3653

題目

統計位數

輸出:樣例輸入:

2

134

17

4

解題思路

沒有思路時,歸納:(f(n)f

(n

)表示n的統計位數)

規律基本出來了, f(

n)=(

n−10k

−1+1

)∗k+

f(10k

−1−1

) f(n

)=(n

−10k−

1+1)

∗k+f

(10k−

1−1)

, if10k

−110k

,that is k=

floor

(log10n

) if10k

−1

10k

,that is k=

floor

(log10⁡

n)

需要注意的點

**非遞迴

#include  

using namespace std;

int main()

;//9l, the 'l' is important

long int tab1[10]=;

cin>>t;

for(int i=0;i>a;

int k=9;

while(a//for debug

k--;

}cout<1)*(k+1)0;}

遞迴

#include  

#include

using

namespace

std;

unsigned

long

int my_pow_10(unsigned

int k)

; if(k<=9)

else

//error

}unsigned

long

int digital_num(unsigned

int n, unsigned

int k)

else

}int main()

樂視筆試演算法題美團演算法筆試題

今天參加了樂視的校招筆試題有一道以前很熟悉的一道題記錄一下 備註 今天樂視筆試好多圖的選擇題和執行緒間同步的方式一道選擇題 上次總結過 給定乙個無序的整數陣列,怎麼找到第乙個大於 0,並且不在此陣列的整數。比如 1,2,0 返回3 3,4,1,1 返回2 1,5,3,4,2 返回6 100,3,2,...

美團網2014筆試演算法題彙總

1.鍊錶翻轉。給出乙個鍊錶和乙個數k,比如鍊錶1 2 3 4 5 6,k 2,則翻轉後2 1 4 3 6 5,若k 3,翻轉後3 2 1 6 5 4,若k 4,翻轉後4 3 2 1 5 6,用程式實現。include using namespace std struct listnode listn...

2017美團面試演算法題

9月份去參加美團的面試,遇到乙個挺有意思的題,哈哈哈,現摘錄如下 問題描述 將1到9九個數字填入上圖,每個數字能且僅能使用一次,使得三條邊的四個數字之和相等。解答 將a1到a9排成一排,然後求全排列,如果滿足a1 a2 a3 a4 a4 a5 a6 a7 a1 a7 a8 a9,則為輸出。據此程式設...