Tom*_*Tom 2 java arrays compare
我有一个a10个布尔数组(或等价数字<1024的二进制表示).我想这个数组比较大集阵列b[i]通过以下方式相同大小的布尔值:该函数compare(a,b[i])将返回true如果数组中的元素a是永远 true当在同一位置的元素b[i]是false.
作为java中的一个例子
boolean compare(boolean a1, boolean a2){
for (int j = 0; j<10; j++)
if (a1[j] && !a2[j])
return false;
return true;
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的实现这个功能?如果将相应的二进制数视为整数A1(和A2)的素数分解的系数,则等效函数将是
boolean compare (int A1, int A2){
if (gcd(A1,A2)==A1)
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
例如,(http://www.java-tips.org/java-se-tips/java.lang/finding-greatest-common-divisor-recursively.html)
int gcd(int a, int b) {
if (b==0)
return a;
else
return gcd(b, a % b);
}
Run Code Online (Sandbox Code Playgroud)
但我不认为这更有效(但我可能错了).
有没有人有想法?欢迎所有建议!
编辑:我稍后会回过头来进行一些分析......感谢您的所有建议!
| 归档时间: |
|
| 查看次数: |
2687 次 |
| 最近记录: |