華為面試題 0和1的變換

2021-10-23 05:47:25 字數 635 閱讀 4395

0->01

1->10

例如:第一行:0

第二行:01

第三行:0110

第四行:01101001

第五行:0110100110010110

......

輸入:n k     (n表示第幾行, k表示第幾個數 (k和n從1開始) )  (範圍:n[1-30], k[1,2^(n-1)])

輸出:第n行第k個數是什麼?

暴力迭代:

int arr[65535] = ;

int arrt[65535] = ;

int func(int n, int k) else if(arr[i] == 1)while(len > 0);

len = j;

memcpy(arr, arrt, sizeof(arr));

n--;

return arrt[k-1];

存在乙個問題,陣列內容太大,k最大可以到達2^29, 記憶體占用太大。

遞迴:int func(int n, int k)else{

return func(n-1, (k+1)/2);

思路很重要,思考問題有時候需要從後面往前面推。

華為,一直在路上。。。

華為面試題

1 區域性變數能否和全域性變數重名?答 能,區域性會遮蔽全域性。要用全域性變數,需要使用 區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義乙個同名的區域性變數...

華為面試題

三 1 區域性變數能否和全域性變數重名?答案 能,區域性會遮蔽全域性。要用全域性變數,需要使用 區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義乙個同名的區域...

華為面試題

華為面試題 q1 請你分別划划osi的七層網路結構圖,和tcp ip的五層結構圖?q2 請你詳細的解釋一下ip協議的定義,在哪個層上面,主要有什麼作用?tcp與udp呢?q3 請問交換機和路由器分別的實現原理是什麼?分別在哪個層次上面實現的?q4 請問c 的類和c裡面的struct有什麼區別?q5 ...