百度的面試題《卷一》

2021-04-20 23:05:54 字數 860 閱讀 4398

《一題》程式題

所謂ip攻擊是指某個ip在短時間內多次訪問伺服器,導致伺服器崩潰。ip位址是0.0.0.0到255.255.255.255。訪問時間是0.0.0到

23.59.59秒

條件1 ,現在有n行的資料,每行是一條資訊 n<1000000

2,每行資料是由ip+時間組成,中間由空格連線  如:172.0.0.1   21.57.21

3.  有x  ,y兩個引數x是閥值時間(精確到秒),y訪問次數,即在x時間內訪問次數超過y次就說該ip為攻擊ip

解決思路:(這是本人自己的做法,如果各位高手有更好的方法請告訴我,相互交流)

(1)先讀取每行資料用乙個方法來讀取資料,用個substring(int  index,int  index )方法來分割字串,或者用string.indexof(" "),

與substr(int index)來分割。將資料分為ip和 訪問時間  兩個部分

(2)寫時間比較方法算出兩個時間之間的 間隔(大於等於0)

(3)寫閥值設定方法getattackip(int x,int y)

在此方法中用用兩個hasmap來存放ip資訊,mapnumber與maptime他們的鍵值都是ip,而value分別是訪問次數和訪問時間當獲得乙個ip的時候,現在mapnumber中遍歷一次,看是否存在該ip,如果不存在就直接加到兩個hasmap中,並設定次數為1,當判斷存在該ip的時候在maptime中取出儲存ip訪問時間與本次讀入的ip的訪問時間,呼叫(2)中的方法得到兩次時間的間隔times,如果times大於x僅僅把本次輸入的ip訪問時間存到maptime中,次數不變。如果times小於x則把mapnumber中相應ip的次數加一,而maptime中的時間不變。 如果次數大於y是,那該ip就是要的攻擊ip.

百度面試題

有一根27厘公尺的細木桿,在第3厘公尺 7厘公尺 11厘公尺 17厘公尺 23厘公尺這五個位置上各有乙隻螞蟻。木桿很細,不能同時通過乙隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退。當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一厘公尺的距...

百度面試題

一 選擇題 15分 共10題 1.任何乙個基於 比較 的內部排序的演算法,若對6個元素進行排序,則在最壞情況下所需的比較次數至少為 a 10 b 11 c 21 d 36 2.關係模型有三類完整性約束,定義外來鍵實現的是 完整性.a.實體完整性 b.參照完整性 c.使用者定義的完整性 d.實體完整性...

百度面試題

1.乙個int陣列,裡面資料無任何限制,要求求出所有這樣的數a i 其左邊的數都小於等於它,右邊的數都大於等於它。能否只用乙個額外陣列和少量其它空間實現。2.乙個檔案,內含一千萬行字串,每個字串在1k以內,要求找出所有相反的串對,如abc和cba。當時怎麼想的忘記了,現在重新思考一下,檔案的大小上限...