<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 人民搜索實習生招聘筆試題

    時間:2022-10-14 16:49:41 筆試題目 我要投稿
    • 相關推薦

    人民搜索實習生招聘筆試題

      1、打印漢諾塔移動步驟,并且計算復雜度。

    人民搜索實習生招聘筆試題

      方法是遞歸,將n-1層移到中間柱,然后將最底層移到目標柱,然后再把n-1層移到目標柱。

      f(n) = 2f(n-1) + 1 , f(1) = 1

      f(n) + 1 = 2( f(n-1) + 1 )

      f(n) = 2^n - 1

      T(n) = O(2^n);

      2、計算兩個字符串的是否相似(字符的種類,和出現次數相同)

      3、定義二叉樹,節點值為int,計算二叉樹中的值在[a,b]區間的節點的個數。

      任意一種方式遍歷二叉樹,如果值在 [a,b] 之間,計數器+1

      4、一條路有k可坑,每次能跳平方數步長(1 4 9 16。。),不能跳到坑里,從a跳到b最少幾步?(動態規劃題)

      動態轉移方程

      f(n) = min( f(大于n的第一個平方數 -n) ,f(n- 小于n的第一個完全平方數) +1 )

      【 補充 ing

      在一個坐標軸上, 給定兩個點,一個起點,一個終點,起點有一個方塊,方塊可以左右移動,但是移動的長度只能是平方數長(1,4,9,16 ••••) ,同時坐標軸上還有洞,移動的過程中不能越過這個洞,不然會掉下去,問 由起點到終點 至少需要多少次移動,不能到達返回-1】

      5、給一個整數數組,求數組中重復出現次數大于數組總個數一半的數。

      int MoreThanHalfNum(int *a , int n )

      {

      int i , k , num = a[0];

      int times = 1;

      for(i = 1 ; i < n ; ++i)

      {

      if(times == 0)

      {

      num = a[i];

      times = 1;

      }

      else if(a[i] != num)

      --times;

      else

      ++times;

      }

      k = 0;

      for(i = 0 ; i < n ; ++i)

      {

      if(a[i] == num)

      ++k;

      }

      if(k*2 <= n)

      return -1; //沒有找到

      else

      return num; //找到

      }

      6、一個128bits 的二進制流,要求找出 里面包含 某8bits 二進制流的數目。

      如果只是一個128bit的流,那就用int對其某個字節,然后移位比較,然后int向后移動3個字節,繼續移位比較。如果是很多128bit的流,可以模仿kmp,用上面的方法,每次取int的8bit和目標8bit進行AND操作,結果只有256種可能,事先存一個256的表,查表決定向后跳躍的bit數。

      7、交換整型的奇數位和偶數位

      問題定義:

      Write a program to swap odd and even bits in an integer with as few instructions as possible(e.g, bit 0 and bit 1 are swapped, bit 2 and bit 3 are swapped, etc)

      int SwapOddEvenBit(int x)

      {

      return ( ((x & 0xaaaaaaaa) >> 1) | ((x & 0x55555555) << 1));

      }

      int main(void)

      {

      int a = 171;

      printf("%d\n", SwapOddEvenBit(a));

      return 0;

      }

      8、試著用最小的比較次數去尋找數組中的最大值和最小值。

      解法一:

      掃描一次數組找出最大值;再掃描一次數組找出最小值。

      比較次數2N-2

      解法二:

      將數組中相鄰的兩個數分在一組, 每次比較兩個相鄰的數,將較大值交換至這兩個數的左邊,較小值放于右邊。

      對大者組掃描一次找出最大值,對小者組掃描一次找出最小值。

      比較1.5N-2次,但需要改變數組結構

      解法三:

      每次比較相鄰兩個數,較大者與MAX比較,較小者與MIN比較,找出最大值和最小值。

      方法如下:先將一對元素互相進行比較,然后把最小值跟當前最小值進行比較,把最大值跟當前最大值進行比較。因此每兩個元素需要3次比較。如果n為奇數,那么比較的次數是3*(n/2)次比較。如果n為偶數,那么比較的次數是3n/2-2次比較。因此,不管是n是奇數還是偶數,比較的次數至多是3*(n/2),具體的代碼如下:

      void GetMaxAndMin(int *arr , int n , int &max , int &min)

      {

      int i = 0 ;

      if(n & 1) // 奇數

      {

      max = min = arr[i++];

      }

      else

      {

      if(arr[0] > arr[1])

      {

      max = arr[0];

      min = arr[1];

      }

      else

      {

      max = arr[1];

      min = arr[0];

      }

      i += 2;

      }

      for( ; i < n ; i += 2)

      {

      if(arr[i] > arr[i+1])

      {

      if(arr[i] > max)

      max = arr[i];

      if(arr[i+1] < min)

      min = arr[i+1];

      }

      else

      {

      if(arr[i+1] > max)

      max = arr[i+1];

      if(arr[i] < min)

      min = arr[i];

      }

      }

      }

    【人民搜索實習生招聘筆試題】相關文章:

    人民銀行招聘筆試題07-25

    人民銀行招聘筆試題07-31

    208年人民銀行招聘試題02-12

    2016阿里實習生招聘筆試題08-04

    中國人民銀行招聘試題07-30

    招聘網上搜索簡歷技巧02-20

    中國人民銀行招聘筆試題07-11

    中國人民銀行招聘筆試題02-18

    深創投實習生招聘筆試題目08-10

    中國人民銀行招聘筆試題302-24

    主站蜘蛛池模板: 精品国产一区二区三区久久蜜臀 | 99精品国产丝袜在线拍国语| 亚洲第一永久AV网站久久精品男人的天堂AV | 国产精品视频一区二区噜噜| 国产精品免费高清在线观看| 国内精品久久久久影院免费| 91精品国产人成网站| 国产欧美精品专区一区二区| 久久久精品国产Sm最大网站| 人妻少妇精品无码专区二区| 久久精品成人免费网站| 久久久久久亚洲精品无码| 无码日韩精品一区二区免费| 好吊妞视频精品| 色婷婷噜噜久久国产精品12p| 国产午夜精品久久久久免费视| 亚洲国产精品一区二区久久| 免费精品精品国产欧美在线欧美高清免费一级在线 | 国产精品九九九久久九九| 好湿好大硬得深一点动态图91精品福利一区二区| 乱人伦人妻精品一区二区| 欧美精品VIDEOSSEX少妇| 国产精品无码国模私拍视频| 亚洲精品乱码久久久久久按摩| 日韩精品在线免费观看| 亚洲国产精品嫩草影院在线观看| 亚洲精品福利视频| 日韩精品无码AV成人观看| 国模和精品嫩模私拍视频| 国内精品久久久久影院免费| 亚洲AV日韩精品久久久久久| 国产精品自产拍在线观看花钱看| 久久99精品久久久久久hb无码 | 精品乱码久久久久久夜夜嗨| 91久久婷婷国产综合精品青草| 人人妻人人澡人人爽精品欧美 | 精品午夜久久福利大片| 精品爆乳一区二区三区无码av| 亚洲国产av无码精品| 久热精品人妻视频| 国产一区二区精品尤物|