網易2019實習生招聘程式設計第3題 牛牛找工作

2021-08-17 18:47:19 字數 1470 閱讀 4070

為了找到自己滿意的工作,牛牛收集了每種工作的難度和報酬。牛牛選工作的標準是在難度不超過自身能力值的情況下,牛牛選擇報酬最高的工作。在牛牛選定了自己的工作後,牛牛的小夥伴們來找牛牛幫忙選工作,牛牛依然使用自己的標準來幫助小夥伴們。牛牛的小夥伴太多了,於是他只好把這個任務交給了你。

輸入描述:

每個輸入包含乙個測試用例。

每個測試用例的第一行包含兩個正整數,分別表示工作的數量n(n<=100000)和小夥伴的數量m(m<=100000)。

接下來的n行每行包含兩個正整數,分別表示該項工作的難度di(di<=1000000000)和報酬pi(pi<=1000000000)。

接下來的一行包含m個正整數,分別表示m個小夥伴的能力值ai(ai<=1000000000)。

保證不存在兩項工作的報酬相同。

輸出描述:

對於每個小夥伴,在單獨的一行輸出乙個正整數表示他能得到的最高報酬。乙個工作可以被多個人選擇。

輸入例子1:

3 3 

1 100

10 1000

1000000000 1001

9 10 1000000000

輸出例子1:

100 

1000

1001

基本思想就是:排序+二分查詢

public

static

void

f3()

//自定義比較器 comparator

comparatorcmp = new comparator()

};//排序資料

collections.sort(data, cmp);

//更新maxhashmap 表示0~i之間最大的薪酬value.

mapmaxhashmap = new hashmap<>();

for (int i = 0, max = integer.min_value; i < data.size(); i++) else

}//debug

system.out.println("===");

system.out.println(maxhashmap);

system.out.println(data);

//為每個小夥伴尋找最高的薪酬

for (int i = 0; i < m; i++) else

system.out.println(index == -1 ? 0 : maxhashmap.get(index));

}

}/**

* 自定義 工作難度--薪酬 類

*/static class entry

@override

public string tostring()

}

網易2019實習生招聘程式設計題集合

為了找到自己滿意的工作,牛牛收集了每種工作的難度和報酬。牛牛選工作的標準是在難度不超過自身能力值的情況下,牛牛選擇報酬最高的工作。在牛牛選定了自己的工作後,牛牛的小夥伴們來找牛牛幫忙選工作,牛牛依然使用自己的標準來幫助小夥伴們。牛牛的小夥伴太多了,於是他只好把這個任務交給了你。小q得到乙個神奇的數列...

網易2019實習生招聘程式設計第3題 牛牛找工作

為了找到自己滿意的工作,牛牛收集了每種工作的難度和報酬。牛牛選工作的標準是在難度不超過自身能力值的情況下,牛牛選擇報酬最高的工作。在牛牛選定了自己的工作後,牛牛的小夥伴們來找牛牛幫忙選工作,牛牛依然使用自己的標準來幫助小夥伴們。牛牛的小夥伴太多了,於是他只好把這個任務交給了你。輸入描述 每個輸入包含...

網易2019實習生招聘程式設計題(被3整除)

題目 小q得到乙個神奇的數列 1,12,123,12345678910,1234567891011 並且小q對於能否被3整除這個性質很感興趣。小q現在希望你能幫他計算一下從數列的第l個到第r個 包含端點 有多少個數可以被3整除。輸入描述 輸入包括兩個整數l和r 1 l r 1e9 表示要求解的區間兩...