Java 中检查给定数组是否为镜像逆2025年3月17日 | 阅读 3 分钟 这是一个非常有趣的问题,经常出现在 Google、Amazon、TCS、Accenture 等顶级 IT 公司的面试中。通过解决这个问题,面试官希望检查面试者的逻辑能力、批判性思维和解决问题的能力。因此,在本节中,我们将使用不同的方法和逻辑 检查给定数组在 Java 中是否为镜像逆向数组。此外,我们还将创建相应的 Java 程序。 问题陈述我们有一个名为 a[] 的数组,任务是找出该数组是否为镜像逆向数组。如果数组是镜像逆向数组,则打印“是”,否则打印“否”。 数组的反向数组的反向可以通过从右到左写入数组来找到。 示例 ![]() 数组的镜像逆向如果我们用相应的数组元素交换数组索引并重写数组值。如果我们得到的逆向数组等于给定数组,则该数组称为镜像逆向数组。让我们通过示例来理解。 注意:反向数组和镜像逆向数组不是一回事。示例 1输入: arr[] = [3, 4, 2, 0, 1, 5, 6} 输出: 是 在给定数组中 索引(0) -> 值(3) 索引(1) -> 值(4) 索引(2) -> 值(2) 索引(3) -> 值(0) 索引(4) -> 值(1) 索引(5) -> 值(5) 索引(6) -> 值(6) 为了找到数组的逆向,交换给定数组的索引和值。因此,我们得到 索引(3) -> 值(0) 索引(4) -> 值(1) 索引(2) -> 值(2) 索引(0) -> 值(3) 索引(1) -> 值(4) 索引(5) -> 值(5) 索引(6) -> 值(6) 逆向 arr[] = {3, 4, 2, 0, 1, 5, 6} 我们观察到逆向数组等于给定数组。因此,它是给定数组的镜像逆向数组。 示例 2输入: arr[] = {1, 3, 5, 7, 9} 索引(0) -> 值(1) 索引(1) -> 值(3) 索引(2) -> 值(5) 索引(3) -> 值(7) 索引(4) -> 值(9) 为了找到数组的逆向,交换给定数组的索引和值。因此,我们得到 索引(1) -> 值(0) 索引(3) -> 值(1) 索引(5) -> 值(2) 索引(7) -> 值(3) 索引(9) -> 值(4) 逆向 arr[] = {0, 1, 2, 3, 4} 我们观察到逆向数组不等于给定数组。因此,它不是给定数组的镜像逆向数组。 检查给定数组是否为镜像逆向数组的 Java 程序
MirrorInverseArray1.java 输出 No 让我们看看另一种方法。 另一种方法是遍历给定数组,如果所有索引都满足条件 array[array[index]] = index,则给定数组是镜像逆向数组。此方法优于上述方法。 MirrorInverseArray2.java 输出 The given array is mirror inverse. |
我们请求您订阅我们的新闻通讯以获取最新更新。