網易2016筆試(1)

2021-07-15 23:20:32 字數 1726 閱讀 9687

小明陪小紅去看鑽石,他們從一堆鑽石中隨機抽取兩顆並比較她們的重量。這些鑽石的重量各不相同。在他們們比較了一段時間後,它們看中了兩顆鑽石g1和g2。現在請你根據之前比較的資訊判斷這兩顆鑽石的哪顆更重。

給定兩顆鑽石的編號g1,g2,編號從1開始,同時給定關係陣列vector,其中元素為一些二元組,第乙個元素為一次比較中較重的鑽石的編號,第二個元素為較輕的鑽石的編號。最後給定之前的比較次數n。請返回這兩顆鑽石的關係,若g1更重返回1,g2更重返回-1,無法判斷返回0。輸入資料保證合法,不會有矛盾情況出現。

測試樣例:

2,3,[[1,2],[2,4],[1,3],[4,3]],4
返回: 1

注意,這裡面考查的知識點和細節。分析如下:

g1和g2這兩塊鑽石,如果有關係可以是直接的聯絡,也可以是通過其他鑽石的比較而得出的。我的第乙個思路:

1.g1和g2直接相連,g1在前返回1,g2在前返回-1;

2.g1和g2間接相連,那麼g1、g2能夠比較的情況是固定g1,g2比(比g1重的)還重;g2比(比g1輕的)還輕

有了這個關係,我就只用遍歷關係矩陣,第一種情況的判斷可以直接來,第二種情況其實就是蒐集比g1重的和比g1輕的兩個集合。判斷g2在不在這兩個集合中。我試了下這個,可以通過31%的case。當時覺得我這樣沒什麼問題,現在提筆一寫發現,我的思想有紕漏。我計算了g1,比g1重的,比g1輕的。然後拿g2來與g1的關係比較。所以問題是g1與g2的關係卻未曾比較。

下面看一下第二個思路:

g1與g2之間的關係其實是張圖,那麼我們就要把圖表示出來。如果g1與g2直接相連,那麼就是直接比較。我們選用鄰接矩陣表示圖。那麼map[g1][g2]=1就表示g1比g2重。那麼問題來了?怎樣初始化鄰接矩陣?g1,g2鄰接我們知道map[g1][g2]=1。但是不鄰接並不代表map[g1][g2]的值是好多。初始化鄰接矩陣步驟如下:

a.求得矩陣的維數。這個要根據關係矩陣中最大的那個值設定。

b.初始化元素值。對角線因為是自身連通,故初始化為1,其他初始化為0。

c.根據關係矩陣初始化鄰接矩陣。(直接初始化)

d.還需要間接初始化。這個意思就是map[i][j]可能通過節點k連通,從而map[i][j]=1。

這下問題解決一大半。我們只用看map[i][j]是否為1或者map[j][i]是否為1即可判斷兩者是否連線。這樣問題就自然解決了。**如下:

int cmp(int g1, int g2, vector> records, int n)

int map1[maxnum+1][maxnum+1];

for(int i=0;i<=maxnum;i++)

for(int j=0;j<=maxnum;j++)

if(i==j)map1[i][j]=1;

else map1[i][j]=0;

for(int i=0;i

dev-c++使用的編譯器是gcc,它允許使用變數作為陣列的長度定義陣列。

vc的編譯器不是gcc,它不允許你這樣做。

方法1:使用動態記憶體分配,new和delete操作符

int num;

cin >> num;

int* a = new int[num];

delete a;

方法2:使用vector容器

int num;

cin >> num;

vector a(num);

注意:在為陣列分配記憶體失敗的時候,以上兩種方法均會丟擲異常bad_alloc

之後我會總結圖的題目和解題方法。

中興2016筆試

簡答題 1 ip位址和mac位址有什麼區別?為什麼要有這兩種位址?對於ip位址,相信大家都很熟悉,即指使用tcp ip協議指定給主機的32位位址。ip位址由用點分隔開的4個8八位組構成,如192.168.0.1就是乙個ip位址,這種寫法叫點分十進位制格式。ip位址由網路位址和主機位址兩部分組成,分配...

網易內推8 8筆試

1.給出乙個數,最多能劃分成多少素數ac 2.買票 給出有幾個人,幾個人單獨買票的時間,每個人和錢乙個人一起買票的時間,商店08 00 00開門,輸出最早的關門時間 未ac,動態方程沒搞對 3.丟棄禮物。揹包問題。類似力扣 最高的廣告牌 4.互相認可的教授有幾對。圖,強連通分量 1.牛牛現在有n個正...

網易2018筆試 路燈個數 Python

encoding utf 8 別人 改的 小q 正在給一條長度為 n的道路設計路燈安置方案。為了讓問題更簡單,小 q把道路視為 n個方格 需要照亮的地方用 表示 不需要照亮的障礙物格仔用 x 表示。小q 現在要在道路上設定一些路燈 對於安置在 pos位置的路燈 這盞路燈可以照亮 pos 1,pos,...