Java Program to Check if Two Strings are Cyclic Permutations of Each Other2025 年 3 月 28 日 | 阅读 4 分钟 这是通常会在Google、Microsoft、TCS、Accenture等著名 IT 公司面试中遇到的问题。通过弄清楚解决方案,可以评估面试者的逻辑推理、批判性思维和解决问题的能力。在本节中,我们将创建一个 Java 程序,使用不同的方法检查两个相同长度的字符串是否是彼此的循环排列。 循环排列当一个字符串可以通过旋转其字符变成另一个字符串时,就会发生循环排列。 示例
输出
有多种方法可以检查两个字符串是否是彼此的循环排列。在本节中,我们将讨论以下方法
使用排序和比较方法排序和比较是一种方法,其中两个字符串首先被转换为字符数组,然后进行排序和比较。如果排序后的数组匹配,则认为字符串是彼此的排列。 让我们在 Java 程序中实现上述方法。 文件名:PermutationChecker.java 输出 No 时间复杂度: O(n log n) 辅助空间: O(n) 使用计数和比较方法计数和比较是一种方法,其中使用数组计算两个字符串中的字符频率。然后比较这些频率数组以确定字符串是否是彼此的排列。 让我们在 Java 程序中实现上述方法。 文件名:PermutationChecker.java 输出 Yes 时间复杂度: O(n),其中 n 是字符串的长度。 辅助空间: O(1) 使用单数组计数方法该方法使用单个数组来跟踪两个字符串中字符的频率。通过检查处理后它们的字符计数是否匹配来确保字符串是排列。 文件名:PermutationChecker.java 输出 Yes 下一个主题Java 中的 List 与 Set |
在 Java 中,Variant 是一个类,它定义在两个不同的包中。javax.ws.rs.core.Variant org.eclipse.swt.ole.win32.Variant javax.ws.rs.core.Variant 它内置于 JDK 中。该类属于 javax.ws.rs.core.Variant。它扩展了 Object 类。该类用于表示资源表示的变体,其中包含有关媒体类型、语言...的信息。
阅读 3 分钟
Java 运算符是一个特殊的符号,它对多个操作数执行特定的操作并输出结果。Java 有大量的运算符,它们分为两类。第一,运算符的性能基于其操作数的数量...
阅读 3 分钟
缺少 return 语句错误是程序员经常遇到的一个常见问题,尤其是那些刚接触该语言或仍在学习其语法和规则的程序员。当方法被声明为返回特定类型的值,但方法...时,就会发生这种情况。
阅读 8 分钟
给定一个整数数组“arr”和一个整数 k。我们有一个空栈和以下两个操作:“Push”和“Pop”。我们还有一个区间为 [1, k] 的整数流。使用两个栈过程将数字推入栈中...
阅读 16 分钟
在 Java 中,List 是一种线性数据结构,用于存储有序的数据集合。它也接受重复值,但保留插入顺序。有时,需要查找列表中的最小和最大元素、列表的总和和平均值,...
阅读 3 分钟
在 Java 中,有多种方法可以检索日期范围。最常见的选择是使用 Java 标准库中的内置类,例如 LocalDate 类,或者第三方库,例如 Joda-Time 或 Java 8 中引入的较新的 Java Time API...
阅读 4 分钟
矩阵是线性代数和计算机编程的重要组成部分。它们用于各种应用,包括图像处理、数据操作和数值模拟。处理矩阵时的一个常见任务是计算主对角线上元素的总和。在本文中,我们将...
5 分钟阅读
旋转位问题涉及将整数的位向左或向右移动,将溢出的位包装到另一端。此操作在低级编程、加密和数据操作任务中至关重要。Java 提供了按位运算符来高效地为两者实现此功能...
7 分钟阅读
在 Java 中,Collection 是一个属于 java.util 包的框架。它提供了用于操作对象组的类和接口。Java 提供了各种集合类,如 ArrayList、LinkedList、HashSet 和 TreeSet 等。在本节中,我们将编写一个 Java 程序来获取...
阅读 4 分钟
在本节中,我们将讨论 Java 中字符串的最大大小是多少。在 Java 中,字符串可以看作是字符数组,字符序列称为字符串。String 类表示字符字符串。我们无法更改字符串...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India