【发布时间】:2015-08-17 15:40:41
【问题描述】:
如果两个边的和大于第三个,则三个数字形成一个合法三角形。所以 [7,3,6] 和 [8,8,8] 有效,而 [2,6,4] 和 [8,6,1] 无效。我得到一个只有 3 个值的数组。
public boolean isLegalTriangle(double[] lens){
a = lens[0]
b = lens[1]
c = lens[2]
return ( a+b > c && b+c > a && a+c > b )
}
这是我写的代码。是否可以用for循环重写它? (对索引进行硬编码似乎很原始)
【问题讨论】:
-
当然有可能......你在哪里卡住了?
-
为什么您认为您当前的解决方案是原始的?这对我来说似乎是一个完全有效的解决方案,因为
n既小又固定。 -
如果给我一个数组,例如 [4,-1,8,2,5,3] 并要求计算使用这些数字可以组成多少合法三角形,那么我需要使用多个循环。所以我正在尝试将我的代码发展到一个新的水平。
-
@BCronyn - 这似乎与您上面提出的要求和问题完全不同
-
尝试递归它会给出简单的解决方案
标签: java loops for-loop optimization