2020筆試日記 loading Apare_xzc

網易筆試(2小時):

4.7

選擇題 10道

關於sql查詢,計算機網絡域名範圍,
高度爲H, 節點個數爲n, n >> h, 的排序二叉樹,刪除一個節點的複雜度(找到中序遍歷的後繼,連上去)
其餘忘記

編程題 4道

  1. n個城市 n<= 100000, m個操作,開始兩兩城市都連同,m次操作,每次op(x,y) 若x==0, 表示y封城,否則表示切斷x與y的聯繫,問最早第幾次操作後,城市s就處於封城狀態

分析後覺得for一遍,維護s的度數即可。但是隻得了10分。感覺和二分答案+並查集像,但覺得按照題意就是for一遍…

  1. n個人,m次聚會,每次p個人出席。f號有病毒。聚會的人有病毒都會傳染。爲最後幾個人傳染。

並查集

  1. n位整數,進行分割,使得每個子串都能被m整除,求分割方案。 答案對1E9+7取模。

數據範圍沒給,考官也不回,應該是個dp

  1. 最大20 * 20地圖,有K個特殊點。特殊點爲B代表障礙。爲l代表有激光器向左發射激光,r,u,d同理。激光沿直線前進,遇到其他特殊點停止。問從起點到終點所有路線中,被激光覆蓋的點最少的路徑覆蓋了幾個。(相鄰的兩個點如果都被激光覆蓋則不能走)

寫了一發帶標記剪枝的dfs, 所有測試點均TLE…

問答題 2道

  1. stl::map和stl::unordered_map底層實現的區別,插入,查詢元素的複雜度
    紅黑樹,哈希表,logn, logn O1 O1
  2. (1)給一個50G的節點,每行一個32位整數,找出最大的1000個要僞代碼
    (2)節點爲2G, 如何優化
    基數排序
    (3)節點爲100T,提供了額外200個節點,又該如何優化
    不知

阿里筆試(1小時)

編程題2道

  1. 01串,長度不超過20,翻轉,每次相鄰的三個可以0變1,1變0, 問能否翻轉爲全0串。能的話最少翻幾次。

貪心即可

  1. 打怪獸,1E5個怪獸,1E5支箭,每個箭有各自的傷害值和花費。 問把所有怪獸都消滅的最小花費。

貪心應該可以

百度筆試(2小時)

選擇題20道

數據結構,計網,操作系統,Linux命令,數據庫都考。
給定進棧順序,出棧順序不可能爲
給定中序遍歷,後序不可能爲
n個數先放到滿二叉樹中,再調整爲堆,中序遍歷可能爲
記不清了

編程題3道

  1. 給定n,(n<=1000,000), 找一個數對(x,y),滿足lcm(x,y) - gcd(x,y)最大,輸出這個最大值

輸出lcm(n,n-1) - gcd(n,n-1)即可

  1. 博弈論,n堆石子,n<=100,000, 每堆個數 <=1E9, 兩人輪流取。若沒有石子可取或者取完以後出現了兩堆石子個數相同,則輸。問先手必勝還是必敗

分類討論一下,可以每次都取最少的那堆,直到取完或者比更少的那堆大1,最後一定得到一個等差數列

  1. 有一個上下高度爲h的銀河區域,區域上下都有引力,區域中有K(1000000)個行星,也有引力。問橫穿過去這個區域,離所有行星以及區域上下的最小距離的最大值。

應該是個二分答案。每次二分最小距離R,然後以每個行星爲原點,半徑爲R畫圓,若有路可走,則這個距離可以,check® = true

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章