介绍:
(来源:Wikipedia)
当我们看着彩虹时,它将始终具有从上到下的颜色
。橙子; 黄色; 绿色; 蓝色; 靛青; 紫色
如果我们看这些单独的环,红色环当然要比紫色环大。
另外,也可以同时有两个甚至三个彩虹。
以上所有这些结合将用于此挑战:
挑战:
给定一列大小为7的整数,其中每个值表示可用于形成彩虹的颜色粒子(其中最大的索引表示红色,最小的索引表示紫色),输出可以形成的彩虹数量。
单个整数彩虹必须至少具有3x紫色,4x靛蓝,5x蓝色,6x绿色,7x黄色,8x橙色,9x红色。它上方的第二条彩虹甚至比第一条彩虹的红色环大(包括它们之间的一个空格),因此它将至少需要11x紫色,12x靛蓝,13x蓝色,14x绿色,15x黄色,16x橙色,除了第一个彩虹使用的颜色外,还有17x红色。第三条彩虹将再次以19倍紫罗兰色开始。
例:
输入列表:[15,20,18,33,24,29,41]
输出:2
为什么?我们有15倍紫罗兰色,两条彩虹至少需要3 + 11 = 14。我们有20个靛蓝,两条彩虹至少需要4 + 12 = 16。等等。我们有足够的颜色可容纳两个彩虹,但不足以形成三个彩虹,因此输出为2
。
挑战规则:
- 输入数组中的整数保证为非负数(
>= 0
)。 - 确保输入列表的大小恰好为7。
- 当无法形成彩虹时,我们输出
0
。 - 输入和输出格式灵活。可以是十进制整数的列表或数组,可以从STDIN中获取。输出可以是任何合理输出类型的函数返回,也可以直接打印到STDOUT。
n
彩虹数量所需的最小颜色数量:
Amount of Rainbows Minimum amount per color
0 [0,0,0,0,0,0,0]
1 [3,4,5,6,7,8,9]
2 [14,16,18,20,22,24,26]
3 [33,36,39,42,45,48,51]
4 [60,64,68,72,76,80,84]
5 [95,100,105,110,115,120,125]
etc...
通用规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接。
- 另外,强烈建议为您的答案添加说明。
测试用例:
Input: [15,20,18,33,24,29,41]
Output: 2
Input: [3,4,5,6,7,8,9]
Output: 1
Input: [9,8,7,6,5,4,3]
Output: 0
Input: [100,100,100,100,100,100,100]
Output: 4
Input: [53,58,90,42,111,57,66]
Output: 3
Input: [0,0,0,0,0,0,0]
Output: 0
Input: [95,100,105,110,115,120,125]
Output: 5
Input: [39525,41278,39333,44444,39502,39599,39699]
Output: 98
0,0,0,0,0,0,0
边缘的情况下,虽然:((它不适合与1间隙逻辑)