<strike id="6q0um"></strike>
  • <strike id="6q0um"><s id="6q0um"></s></strike>
  • <ul id="6q0um"></ul><strike id="6q0um"></strike>

    當前位置:高考升學網 > 招聘筆試題 > 正文

    2019人人網算法類筆試題和面試題答案匯總

    更新:2023-09-16 22:46:41 高考升學網

      如下為大家匯總的內容是人人網算法類筆試題,感興趣的朋友可以練下。
      1.給出一個有序數組啊,長度為len,另外給出第三個數X,問是否能在數組中找到兩個數,這兩個數之和等于第三個數X。

      我們首先看到第一句話,這個數組是有序的,所以,我們可以定義兩個指針,一個指向數組的第一個元素,另一個指向應該指向的位置(這個需要看具體的實現和數組給定的值),首先計算兩個位置的和是否等于給定的第三個數,如果等于則算法結束,如果大于,則尾指針向頭指針方向移動,如果小于,則頭指針向尾指針方向移動,當頭指針大于等于尾指針時算法結束,沒有找到這樣的兩個數。

      解法一:

      #include

      int judge(int a, int len, int k, int num1, int num2);

      int main(int argc, char argv)

      {

      int test_array[] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};

      int result = -1;

      int num1, num2;

      result = judge(test_array, sizeof(test_array) / sizeof(int), 12, &num1, &num2);

      if(result == 0)

      {

      printf("%d %d ", num1, num2);

      }

      else if(result == -1)

      {

      printf("can't find");

      }

      else

      {

      printf("error");

      }

      }

      int judge(int a, int len, int k, int num1, int num2)

      {

      int low = NULL;

      int high = NULL;

      int i = 0;

      int result = -1;

      if(a == NULL || len < 2)

      {

      return result;

      }

      if(a[0] >= k)

      {

      return result;

      }

      while(a[i] <= k && i < len)

      {

      i++;

      }

      low = a;

      high = a + i - 1;

      while(low < high)

      {

      num1 = low;

      num2 = high;

      if((low + high) == k)

      {

      result = 0;

      break;

      }

      else if((low + high) > k)

      {

      high--;

      }

      else if((low + high) < k)

      {

      low++;

      }

      }

      return result;

      }

      解法二:

      #include

      using namespace std;

      int hash_table[100];

      bool judge(int a, int len, int x)

      {

      memset(hash_table, 0, sizeof(hash_table));

      for (int i=0; i

      {

      hash_table[x - a[i]] = 1;

      }

      for (int i=0; i

      {

      if (hash_table[i] == 1)

      {

      return true;

      }

      }

      return false;

      }

      int main()

      {

      int len = 10;

      int a[10] = {1, 3, 5, 7, 9, 4, 2, 8, 10, 6};

      int x = 19;

      if (judge(a, len, x))

      {

      cout<<"Yes"<

      }

      else

      {

      cout<<"No"<

      }

      system("pause");

      return 0;

      }

      本題解決方法:hash table。

      時間復雜度:O(N)

      空間復雜度:O(N)

      2.給定有n個數的數組a,其中有超過一半的數為一個定值,在不進行排序,不開設額外數組的情況下,以最高效的算法找出這個數。

      int find(int a, int n);

      #include

      using namespace std;

      int find(int a, int n)

      {

      int t = a[0];

      int count = 0;

      for (int i=0; i

      {

      if (count == 0)

      {

      t = a[i];

      count = 1;

      continue;

      }

      else

      {

      if (a[i] == t)

      {

      count++;

      }

      else

      {

      count--;

      }

      }

      }

      return t;

      }

      int main()

      {

      int n = 10;

      int a[10] = {1, 3, 2, 3, 3, 4, 3, 3, 3, 6};

      cout<

      system("pause");

      return 0;

      }

      Time Complexity: O(n)

      Space Complexity:O(1) 更多熱門的筆試題目推薦:
    中國人民銀行的筆試題
    上海東方傳媒集團筆試題
    廣東北電研發工程師筆試題
    金融投資顧問?脊P試題目

    最新圖文

    2020年河北新聞網兩學一做

    時間:2023-09-18 07:0:24

    2020年河北新聞網兩學一做

    時間:2023-09-15 11:0:59

    兩學一做學習教育知

    時間:2023-09-21 06:0:30

    2020年開展兩學一做學習教

    時間:2023-09-19 21:0:30
    2022年亚洲午夜一区二区福利| 亚洲成电影在线观看青青| 亚洲精品色播一区二区| 国产成人亚洲精品无码AV大片| 噜噜噜亚洲色成人网站| 亚洲人成无码网站| 亚洲永久永久永久永久永久精品| 亚洲欧洲精品视频在线观看| 亚洲精品色在线网站| 国产AV无码专区亚洲AVJULIA| 亚洲人成综合在线播放| 国产成人人综合亚洲欧美丁香花| 亚洲男人av香蕉爽爽爽爽| 亚洲毛片在线观看| 亚洲AV成人一区二区三区在线看| 亚洲一区二区三区国产精品| 亚洲最大成人网色| 亚洲国产精品无码久久| 国产偷v国产偷v亚洲高清| 亚洲字幕在线观看| 亚洲国产精品碰碰| 中文字幕在线观看亚洲| 久久亚洲色WWW成人欧美| 久久精品国产亚洲AV麻豆不卡| 日韩亚洲产在线观看| 在线日韩日本国产亚洲| 亚洲人成网站在线观看播放动漫 | 亚洲国产精品免费观看| 久久久亚洲精品蜜桃臀| 亚洲成av人片不卡无码| 亚洲精品国产V片在线观看| 亚洲美女大bbbbbbbbb| mm1313亚洲精品无码又大又粗| 亚洲高清在线观看| 亚洲另类无码专区丝袜| 亚洲va国产va天堂va久久| 亚洲AV综合永久无码精品天堂 | 亚洲成人福利在线观看| 亚洲精品无码永久在线观看| 亚洲国产午夜精品理论片| 亚洲综合区小说区激情区|