Java 中的块交换算法或数组旋转2024 年 9 月 26 日 | 阅读 6 分钟 这是经常在 Google、Amazon、TCS、Accenture 等顶级 IT 公司面试中出现的非常有趣的问题。通过解决这个问题,可以考察面试者的逻辑能力、批判性思维和解决问题的能力。因此,在本节中,我们将讨论 **Java 中的块交换算法和数组旋转**,并提供不同的方法和逻辑。此外,我们还将创建相应的 Java 程序。 数组旋转示例输入 int arr[] = {7, 9, 8, 0, 5, 1, 6, 4}, s = 8, d = 2 输出:result[] = {8, 0, 5, 1, 6, 4, 7, 9} 解释:s 是输入数组的大小。d = 2 意味着我们需要旋转数组 2 次。第一次旋转后,我们得到: {9, 8, 0, 5, 1, 6, 4, 7}。现在,我们再次旋转数组,得到以下结果: 让我们看另一个例子。 输入 int arr[] = {6, 8, 7, 9, 0, 5, 1, 3, 2, 4}, s = 10, d = 5 输出:result[] = {5, 1, 2, 3, 4, 6, 8, 7, 9, 0} 解释:旋转数组 5 次后,我们得到以下结果: {5, 1, 2, 3, 4, 6, 8, 7, 9, 0},这就是我们的答案。 块交换算法在本节中,我们使用了块交换算法来旋转数组。请观察该算法: 步骤 1:将输入数组分成两个子数组,以 div 为分割点。令它们为 A = arr[0 ... div - 1] 和 B = arr[div ... n - 1]。 步骤 2:在 A 和 B 的大小相等之前,执行以下步骤:
步骤 3:当 A 和 B 的大小相等时,交换它们。 方法:使用递归以下程序使用了上述算法。 文件名:RotateArray.java 输出 The input array: 7 9 8 0 5 1 6 4 The new array after rotating 2 times, we get 8 0 5 1 6 4 7 9 The input array: 6 8 7 9 0 5 1 3 2 4 The new array after rotating 5 times, we get 5 1 3 2 4 6 8 7 9 0 下一个主题Java 中的最小分组大小差(两个元素) |
计算数组中每个元素频率的程序。在此程序中,我们有一个元素数组,用于计算其每个元素的出现次数。解决此问题的一种方法是维护一个数组来存储计数...
阅读 3 分钟
如何在不使用 reverse 函数的情况下在 Java 中反转字符串 有以下几种在 Java 中反转字符串的方法: 使用 for 循环 使用 While 循环 使用静态方法 使用 for 循环示例 在以下示例中,我们使用 for 循环来...
阅读 2 分钟
这是谷歌、亚马逊、TCS、Accenture、Adobe、Apple、Infosys、Microsoft、Yahoo 等顶尖 IT 公司面试中经常遇到的一个非常有趣的问题。通过解决这个问题,人们想考察面试者的逻辑能力、批判性思维和解决问题的能力。所以,在……
5 分钟阅读
给定一个无序整数数组。我们的任务是将所有零元素移到末尾,并将非零元素移到前面。请注意,非零元素的相对顺序不得改变。以下示例使情况更清晰。示例 1:输入:int arr[]……
阅读 6 分钟
在此程序中,我们需要计算数组中所有元素的总和。这可以通过循环遍历数组并在每次迭代中将元素的值加到变量 sum 来解决。数组所有元素的总和是...
阅读 2 分钟
ASCII 是 American Standard Code for Information Interchange(美国信息交换标准代码)的缩写。它是一个 7 位字符集,包含 128 个(0 到 127)字符。它表示字符的数值。例如,A 的 ASCII 值是 65。在本节中,我们将学习如何打印...
阅读 3 分钟
螺旋模式(或螺旋形式的矩阵)经常出现在 Java 面试和学术界。在本节中,我们将创建一个 Java 程序来创建螺旋模式或螺旋矩阵。什么是螺旋矩阵或螺旋模式?螺旋模式是一种数字模式……
7 分钟阅读
如果一个数能被1和它本身整除,那么它就是素数。换句话说,素数是只有两个不同自然数因子1和它本身的自然数。例如,2、3、5、7、11等都是素数。请注意……
5 分钟阅读
在此程序中,我们需要计算字符串中出现的每个字符,并找出出现次数最多和最少的字符。Grass is greener on the other side 在上面的示例中,字符“a”在字符串中只出现一次。所以,它是出现次数最少的字符...
5 分钟阅读
Java 程序查找数组中的第二小数字 我们可以通过对数组进行排序并返回第二个元素来查找 Java 数组中的第二小数字。让我们看一个查找 Java 数组中第二小数字的完整示例。public class SecondSmallestInArrayExample{ public...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India