【发布时间】:2018-03-09 01:37:40
【问题描述】:
我正在寻找有关我编写的方法的一些反馈。我不确定我的方法是否正确。我正在尝试编写一个方法来比较两个数组 x[] 和 z[] 是否相同,每个数组位置 f 根据下面的定义具有相同的组成(上、下、平)。如果它们相同,我想返回 true,否则返回 false。我可以假设我的数组长度相同。
定义:
数组位置f的值被认为是向上的
if x[f] < x[f + 1]
数组位置f的值被认为向下if x[f] > x[f + 1]
数组位置 f 的值被认为是平坦的if x[f] == x[f + 1]
例如: int x = [1,2,1,2,1,2] 组合 = 上、下、上、下、上
Int f = [3,6,1,5,2,5] 组合 = 上、下、上、下、上
应该返回真
例如: int x = [1,2,1,2,1,2] 组合 = 上、下、上、下、上
Int f = [3,6,1,5,2,1] 组合 = 上、下、上、下、下
应该返回假
public boolean sameComp(int[] x, int[] f) {
if (x.length <= 1 && f.length <= 1) {
return true;
}
for (int i = 0; i < x.length - 1; i++) {
if (x[i] < x[i + 1] && f[i] < f[i + 1] || x[i] > x[i + 1] && f[i] > f[i + 1] || x[i] == x[i + 1] && f[i] == f[i + 1]) {
return true;
}
}
return false;
}
【问题讨论】:
-
还有 Code Review Stack Exchange,你考虑过发布吗?
-
我从未听说过,但会尝试一下。谢谢!