百度在线笔试,总共140分钟,其中编程三道题80分钟。
题目1
二舅要盖房,小明帮忙搬砖,准备干N天。二舅说:每天你可以选轻活、重活、不干活。怕你累着了,只有前一天没干活才能干重活。当然轻活钱少,重活钱多,而且每天还会变。
理工科的小明准备设计一个算法,看怎样才能拿到最多钱。
输入
NumOfDays:干的天数N,整数
TaskList:整数列表,第一列干轻活的钱,第二列干重活的钱。
输出
一个整数,最多能挣多少。
约束条件
1<=NumOfDays<=100000
2<= TaskList[i][1]<=10000
1<= TaskList[i][0]< TaskList[i][1]
0<=i<NumOfDays
示例
输入:
NumOfDays=4
TaskList=
1,2
4,10
20,21
2,23
输出:
33
解释:
想钱多,需从第2行选择重活(10),并且第四行选重活(23),钱最多=10+23=33
求解:
int maxIncome(int numOfDays, int[][] taskList)
{
}