Java中判断一个数组是否为互逆数组
时间: 2024-05-05 16:17:10 浏览: 120
互逆数组是指一个数组中的每一个元素都与对应位置上的元素互为相反数。例如,数组 [1, -1, 2, -2] 就是一个互逆数组。
Java中可以通过遍历数组,判断每一个元素是否与对应位置上的元素互为相反数来判断一个数组是否为互逆数组。具体实现如下:
```java
public static boolean isInverseArray(int[] arr) {
if (arr == null || arr.length == 0) {
return false;
}
int len = arr.length;
for (int i = 0; i < len; i++) {
if (i >= len / 2 && arr[i] != -arr[len - i - 1]) {
// 如果已经遍历到数组的后半部分了,就不需要再判断了
return false;
}
if (arr[i] != -arr[len - i - 1]) {
return false;
}
}
return true;
}
```
在上面的代码中,我们先判断了数组是否为空或长度为0,如果是就返回false。然后遍历数组,对于数组中的每一个元素,我们分别判断它与对应位置上的元素是否互为相反数,如果不是就返回false。如果整个数组都遍历完了,都没有返回false,就说明这个数组是互逆数组,返回true。
相关问题
java判断数组是否为互逆数组
互逆数组是指一个数组中的每个元素都是另一个数组中的元素的相反数。比如,数组[1, 2, -3, -4]和数组[-1, -2, 3, 4]互为逆数组。
以下是Java代码判断一个数组是否为互逆数组:
```java
public static boolean isInverse(int[] arr) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] + arr[arr.length - i - 1] != 0) {
return false;
}
}
return true;
}
```
该方法遍历数组中的每个元素,判断其是否和数组中对称位置的元素相加为0。如果不是,返回false;如果全部满足条件,返回true。
定义一个方法(函数),功能为判断一个数组是否为互逆数组,也就是该数组的顺序和逆序完全相同,如int[] a=f1,2,3,2,1则为互逆数组。int[] b=1,2,3,2,4 则不是互逆数组。并在main方法中调用测试
代码如下:
```java
public static boolean isInverse(int[] arr) {
int len = arr.length;
for (int i = 0; i < len / 2; i++) {
if (arr[i] != arr[len - i - 1]) {
return false;
}
}
return true;
}
public static void main(String[] args) {
int[] a = {1, 2, 3, 2, 1};
int[] b = {1, 2, 3, 2, 4};
System.out.println(isInverse(a)); // true
System.out.println(isInverse(b)); // false
}
```
阅读全文
相关推荐
















