一、题目描述
商人经营一家店铺,有number种商品,由于仓库限制每件商品的最大持有数量是item[index],每种商品的价格在每天是item_price[item_index][day]
,通过对商品的买进和卖出获取利润,请给出商人在days天内能获取到的最大利润。
注:同一件商品可以反复买进和卖出;
二、输入描述
3 //输入商品的数量 number
3 // 输入商人售货天数 days
4 5 6 //输入仓库限制每件商品的最大持有数量是itemlindex]
1 2 3 // 输入第一件商品每天的价格
4 3 2 // 输入第二件商品每天的价格
1 5 3 // 输入第三件商品每天的价格
三、输出描述
32//输出商人在这段时间内的最大利润
四、Java算法源码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String number = sc.nextLine();
int num = Integer.parseInt(number);
String str = sc.nextLine();
String[] arrs = str.split(" ");
int[] arr = new int[arrs.length];
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(arrs[i]);
}
int sum = 0;
for (int i = 0; i < num; i++) {
String priceArrStr = sc.nextLine();
String[] priceArr = priceArrStr.split(" ");
int max = 0;
for (int j = 1; j < priceArr.length; j++) {
int current = Integer.parseInt(priceArr[j]);
int pre = Integer.parseInt(priceArr[j-1]);
int profit = current - pre;
max += Math.max(profit, 0);
}
sum += max * arr[i];
}
System.out.println(sum);
}
五、效果展示
1、输入
3
3
4 5 6
1 2 3
4 3 2
1 5 3
2、输出
32
🏆本文收录于,华为OD机试(JAVA)(2022&2023)
本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。