作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是编程初学者,几周前才开始学习。当我没有太多时间时,我会进行代码大战,捕获一些东西来思考如何解决,这次是赌场挑战。我想出了一个感觉可以涵盖所有内容的方法,但在 208 个案例中,有 4 个案例仍然失败,我陷入了困境。
挑战如下:
该挑战称为赌场筹码。有 3 堆筹码,白色、绿色、黑色筹码。
每天你只取 2 个筹码,而且它们的颜色不能相同。我必须归还在这些条件下我可以领取筹码的最大天数。每天必须服用 2 个,并且颜色必须不同。
示例:[1,2,1]
<= (1white, 2 green, 1 black) => 返回:2 天
。 [4,1,1]
=> 2,[8,1,4]
=> 5 等
禁止暴力破解。
这是我的代码
def solve(arr):
arr.sort()
s = arr[0] + arr[1]
if arr == [1,1,1]:
return arr[0]
elif arr[0] + arr[1] <= arr[2]:
return s
elif arr[1] == arr[2] and arr[1] != arr[0]:
m = arr[0] - 1 + arr[1]
return m
elif arr[0] == arr[1] and arr[0] == arr[2]:
d = arr[0] / 2 + arr[1]
return int(d)
elif arr[0] + arr[1] > arr[2]:
e = (arr[0] + arr[1] + arr[2]) / 2
return int(e)
我小时候跳过了数学课,导致跟不上,所以我的数学知识是0
。
有什么想法我的代码没有涵盖哪些选项,或者有人知道可以完成工作的公式吗?或者您将如何亲自编码?
最佳答案
你的第三种情况是错误的,一个反例是arr = [3,4,4]
然而更有趣的是,你的案例 2 和 5 一起涵盖了所有可能性并已经正确解决了它们:
def solve(arr):
arr.sort()
s = arr[0] + arr[1]
if s <= arr[2]: #your case 2
return s
else: #your case 5
e = (arr[0] + arr[1] + arr[2]) / 2
return int(e)
关于python - 为什么我的代码不能涵盖所有情况? - Codewars 中的 Python 3 赌场筹码挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63122337/
我是一名优秀的程序员,十分优秀!