题解 1523: 蓝桥杯算法提高VIP-打水问题

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

最省事、省内存、高效的写法

解题思路:第一步,先给数组排好序。第二步,在这个数组,怎么按照题目思路,给定一个和m龙头的映射。是新建m个数组?No,就在原有数组上做文章。第三步,对单独一个桶,怎么处理累计时间。很容易发现,对一个龙头arr[1,2,3,4]第一个不用等(0),第二个要等的是,前一个人的用时(1)。

蓝桥杯算法提高VIP-打水问题-题解(Java代码)

摘要:解题思路:先把数组排序,先处理第一个水龙头的时间time,他的元素有 第j号元素、第j+m号…… ,用 cc 来记录 前面出现的数的和,直到j >= a.length-1(或者判断在中间某位 + m ……

蓝桥杯算法提高VIP-打水问题-题解(Java代码)【详细解析】

//题目分析://找每个水龙头用时最少的,也就是说刚开始都是一样的,从一个水龙头开始加时间1,那么第二个水龙头和第三个就都是0,所以第二个要加时间2,然后三个水龙头中第三个时间最少,所以加3,即//龙头一的时间:1//龙头二的时间:2//龙头三的时间:3//同理,