gpt4 book ai didi

java - Google FooBar意外评估失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:50 25 4
gpt4 key购买 nike

我正在处理Google FooBar挑战,测试用例似乎不正确;下面是重点。

return the product of non-empty subset of those numbers. Example [2, -3, 1, 0, -5], 
would be: xs[0] = 2, xs[1] = -3, xs[4] = -5,

giving the product 2*(-3)*(-5) = 30.
So answer([2,-3,1,0,-5]) will be "30".

给定以下内容:

情况1:
Inputs:
(int list) xs = [2, 0, 2, 2, 0]
Output:
(string) "8"

情况2:
Inputs:
(int list) xs = [-2, -3, 4, -5]
Output:
(string) "60"

60的“预期结果”使我感到困惑,预期结果不是120吗?当我提交以下代码时:
 def answer(xs):
runningTotal = ""
for i in range(0, len(x)):
if x[i] != 0:
runningTotal = runningTotal + "(" + str(x[i]) +")" + " * "

answer = runningTotal.replace("-","")[:-3]
return str(eval(answer))

它通过了测试1,但未通过测试2(以及我没有给出测试条件的3,4,5)。我是否缺少某些东西,或者这可能是Google预期结果的错误?以下是整个指令集。

耗电

兰达指挥官的空间站很大。巨大的空间站需要大量动力。配备世界末日设备的巨大空间站将消耗更多功率。帮助满足车站的力量
为了满足需要,指挥官Lambda在该站的外表面安装了太阳能电池板。但该站位于类星体量子通量场的中间,这对太阳造成了严重破坏
面板。您和您的武装分子团队已被指派修理太阳能电池板,但是您不能在不关闭空间站的情况下立即将它们全部拆除(以及所有讨厌的东西)
生命支持系统!)。

您需要确定在任何给定阵列中可以脱机修复的面板组,同时仍保持每个阵列的最大功率输出,并且要做到这一点,
首先需要弄清楚每个数组的最大实际输出是多少。编写一个函数answer(xs),该函数采用一个整数列表,该整数表示一个面板中每个面板的功率输出水平。
数组,并返回这些数字的一些非空子集的最大乘积。因此,例如,如果阵列包含功率输出级别为[2,-3、1、0,-5]的面板,则最大值
乘以以下子集可以找到乘积:xs [0] = 2,xs [1] = -3,xs [4] = -5,得出乘积2 *(-3)*(-5)= 30。 answer([2,-3,1,0,-5])将为“30”。

每个太阳能电池板阵列至少包含1个且不超过50个面板,并且每个面板将具有绝对值不大于1000的功率输出级别(某些面板为
故障非常严重,以至于浪费了能量,但是您知道面板的稳定器有一个窍门,它可以让您组合两个负极输出面板以产生正极
输出其功率值的倍数)。最终产品可能很大,因此请以数字的字符串表示形式给出答案。

语言能力

要提供Python解决方案,请编辑solution.py
要提供Java解决方案,请编辑solution.java

测试用例

输入:
(整数列表)xs = [2,0,2,2,0]
输出:
(字符串)“8”

输入:
(int列表)xs = [-2,-3、4,-5]
输出:
(字符串)“60”

使用verify [file]测试您的解决方案并查看其效果。完成代码编辑后,请使用Submit [file]提交答案。如果您的解决方案通过了测试用例,它将
从您的主文件夹中删除。

[编辑]

我按如下方式调整了代码,所有测试用例均按预期返回,但除了第一个测试外,所有其他测试用例都失败了(即使我可以访问案例1和2,它们都在本地计算机上返回了预期的结果);几分钟后,readme.txt文件中没有测试用例,但是注销并重新登录后,它又回到了原始文件中。我是不是巧妙地错过了一些,还是这可能是他们系统上的错误(我只问是因为我希望在通过第一个测试(即我的返回类型是正确的)时通过他们的前两个测试,并且即使他们的“输出”也不能通过第二个和我的比赛。**请不要提供代码示例,正如Fayaz所指出的那样,这是一个挑战,我不会为任何人代我钓鱼(这有什么意思?!)。

[编辑]
重新启动计算机后,我注意到我略微放大了文本,这使文本无法显示(这很尴尬)。我还注意到片刻之后,如果值小于0,我的代码将默认值设为0,这显然没有做到这一点。工作。经过微小的调整后,所有事情都通过了,我又改写了一天。非常感谢您的帮助/支持!

最佳答案

输入= [-2,-3、4,-5]的输出应为60。
我会告诉你为什么?
我认为您得到120作为(-2)*(-3)4(-5)。
但是,此操作的结果是-120,这是此输入可能的最小乘积。
子集(-3)4(-5)的输出应为60。

如果您有受邀参加foobar挑战的特权,我认为您应该能够对代码进行更改以适应这种情况。
祝一切顺利!

关于java - Google FooBar意外评估失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39608290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com