程序员笔试之阿里巴巴2021笔试 编程题收集整理(二)

1.小强已经开始准备放大他的n个恐龙蛋了,他把他们放在他自制的n个放大器,其中第i个放大器每天可以使放在上面的恐龙蛋增大i个尺寸,为了不偏心,他把最大的恐龙蛋放在第一个放大器上,第二大的恐龙蛋放在第2个放大器上,以此类推。他想要孵化两个一样大的恐龙蛋,所以他想要知道最早几天后有两个恐龙蛋会变成一样大?
输入描述:
第一行一个整数n,n表示恐龙蛋的个数。
接下来一行n个整数,其中第i个整数 a i a_i ai表示放在第i个放大器的恐龙蛋大小。
2<n< 1 0 6 10^6 106
1< a i a_i ai< 1 0 9 10^9 109
保证刚开始没有两个恐龙蛋是一样大的
输出描述:
输出一个整数表示最早几天后有两个恐龙蛋会变成一样大。
示例1:
输入:
3
8 4 2
输出:
2

2.京都有n个驿站排成一行且从左到右由1~n依次编号,并且有(n-1)个道路连接相邻的驿站,对于每个道路都有一个权重a[i]。小强定义,当每经过一次道路,其对应权重减1,但你会获得1分的价值。现在小强请你帮他计算出在选择任意一个驿站作为起点且满足不经过权重为0的道路的条件下所能获得的最大价值是多少?
输入描述:
第一行输入一个正整数n,表示驿站的数量。
第二行输入n-1个正整数a[i](1<i<n),表示驿站和驿站之间的初始权重
1<=n<=100000
1<=a[i]<=1000000
输出描述:
输出一个整数表示答案
示例1:
输入:
5
2 1 4 3
输出:
9
说明:考虑满足条件的路径为2-1-2-3-4-5-4-3-4-5

示例2:
输入:
6
3 3 2 5 3
输出:
15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值