學習筆記 | 華爲機試

面試題

1.判斷兩個IP是否屬於同一子網

給定兩個ip地址和一個子網掩碼,讓每一個ip的二進制位與掩碼的二進制位做與運算,如果的得到的結果相同,則筆試兩個ip屬於同一個子網,此時輸出1和第一個ip與掩碼與後的結果,否則輸出0和第一個ip與掩碼與後的結果。

例如:

ip 1 地址:192.168.0.1

ip 2 地址:192.168.0.254

子網掩碼:255.255.255.0

轉化爲二進制爲:

ip 1 地址:11010000.10101000.00000000.00000001

ip 2 地址:11010000.10101000.00000000.11111110

子網掩碼:11111111.11111111.11111111.00000000

分別與子網掩碼進行AND

結果1:11000000.10101000.00000000.00000000

轉化爲十進制:192.168.0.0

結果2:11000000.10101000.00000000.00000000

轉化爲十進制:192.168.0.0

結果相同,屬於同一子網

樣例:

輸入:192.168.0.1 192.168.0.254 255.255.255.0
輸出:1 192.168.0.0

2.最大正方形

leetcode鏈接:https://leetcode-cn.com/problems/maximal-square/

在一個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。

樣例

輸入:
    1 0 1 0 0
	1 0 1 1 1
	1 1 1 1 1
    1 0 0 1 0
輸出:
    4

3.奧特曼打小怪獸。

有一個由0,1,2以及大於2的數字組成的矩陣,0表示陷阱,1表示陸地,奧特曼不可以走陷阱,可以走陸地,2以及大於2的數字表示奧特曼的等級,數字越大等級越高。奧特曼從矩陣的左上角(0,0)位置出發,只能由等級從弱到強去打小怪獸,每打完一個小怪獸,小怪獸所在的位置就變成了陸地。問奧特曼能不能打完所有的小怪獸。可以打完輸出最少步數,否則輸出-1;

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