检查给定字符串是否为全字母句(Java)2025 年 1 月 6 日 | 阅读 6 分钟 给定字符串 str,我们的任务是编写一个 Java 程序来确定提供的字符串是否为全字母句。如果字符串中包含所有字母字符,而不考虑其大小写(大写或小写),则该字符串称为全字母句。 示例 1 输入 String str = "abCDEfghIJKlmnoPQRStuvwxyZ" 输出 给定的字符串是全字母句。 解释 对于给定的字符串 "abCDEfghIJKlmnoPQRStuvwxyZ",所有 26 个字母都存在,不区分大小写。因此,给定的字符串是一个全字母句。 示例 2 输入 String str = "The five boxing wizards jump quickly." 输出 给定的字符串是全字母句。 解释 对于给定的字符串 "The five boxing wizards jump quickly",由于所有 26 个字母都存在,不区分大小写。因此,给定的字符串是一个全字母句。 示例 3 输入 String str = "Hello Welcome to the World" 输出 给定的字符串不是全字母句。 解释 对于给定的字符串 "Hello Welcome to the World",由于不包含所有 26 个字母。因此,给定的字符串不是全字母句。 方法:使用 Set 使用集合是有意义的,因为为了验证全字母句,必须存在所有 26 个字母,而不管字符是大写还是小写。字母已转换为小写,集合大小需要为 26 才能确定字母是否已存在。 算法 步骤 1: 初始化一个字符集。 步骤 2: 检查整个字符串并确保每个字符都存在。 步骤 3: 如果字符是小写字母,则插入到集合中。 步骤 4: 使用 tolower() 函数在插入任何大写字母之前将其转换为小写。 步骤 5: 最后,验证集合的大小是否为 26。如果正确,这表明字符串中使用了所有字母,无论是小写还是大写。 实施文件名: ApproachSetPangram.java 输出 The given string is a Pangram. 复杂度分析 上述代码的时间复杂度为 O(N*logN),其中 'N' 表示字符串的长度,空间复杂度为 O(1)。 方法:使用哈希技术创建一个布尔类型的 mark[] 数组,遍历字符串中的每个字符,并将每个字符标记为已访问。大小写字母被视为可互换的。因此,索引 0 用于表示“A”和“a”,索引 25 用于标记“Z”和“z”。一旦所有字符都已遍历,就确定所有字符是否都被标记。如果没有,则返回 false,因为这里没有全字母句;否则,返回 true。 算法 步骤 1: 最初,创建一个大小为 26 的布尔向量 mark[]。 步骤 2: 遍历字符串 s 中的每个字符,分别将 s[i] - "a" 或 s[i] - "A" 标记为 1(分别对应大写和小写)。 步骤 3: 遍历 mark 的每个索引一次。 步骤 3.1: 如果每个索引都被标记为已访问,则返回全字母句。 步骤 3.2: 否则返回“不是全字母句”。 实施文件名 输出 The given string is a Pangram. 复杂度分析 时间复杂度为 O(N),其中 N 表示给定字符串的长度;空间复杂度为 O(1)。 方法:使用频率数组算法 步骤 1: 将字符串中的所有字母转换为大写或小写。 步骤 2: 创建一个频率数组来指示从 a 到 z 的每个字母的频率。 步骤 3: 接下来,遍历频率数组,如果提供的字符串中缺少任何字母,则打印“否”,否则打印“是”。 实施文件名: reqarrayApproachPangram.java 输出 The given string is a Pangram. 复杂度分析 时间复杂度为 O(N),其中 N 表示给定字符串的长度;空间复杂度为 O(1)。 方法:使用遍历算法 步骤 1: 将 LettersPresent 标志的初始值声明为 true。 步骤 2: 对于每个字母,重复步骤 a 到 z。 步骤 2.1: 确定该字母是否存在于字符串中。 步骤 3: 如果缺少任何字母,则中断循环并将标志设置为 false。 步骤 4: 如果所有字母都存在,则打印“给定的字符串是全字母句”。 步骤 5: 否则,打印“给定的字符串不是全字母句”。 实施文件名: TraversalApproachPangram.java 输出 The given string is a Pangram. 复杂度分析 时间复杂度为 O(26*N),其中 N 表示给定字符串的长度;空间复杂度为 O(1)。 |
用于开发基于 Java 的应用程序的后端(服务器端)组件的任何应用程序/程序、框架或库都称为 Java 后端工具。应用程序的服务器端逻辑、数据库和其他后端功能是通过...创建、管理和维护的。
阅读 12 分钟
Java 未打开是一个可能由于某些原因出现的错误或故障排除。但我们可以记住一些要点,这样在安装 Java 和打开它时,我们可能不会遇到这些问题。在本节中,我们将...
阅读 4 分钟
Java 运算符是一个特殊的符号,它对多个操作数执行特定的操作并输出结果。Java 有大量的运算符,它们分为两类。第一,运算符的性能基于其操作数的数量...
阅读 3 分钟
最近数问题是程序员面试中最受欢迎的问题之一,因为该问题的主要任务是在数组中查找一个与给定特定数字距离最近的数字。这个问题在许多计算...中都有实现。
阅读 4 分钟
在 Java 中终止应用程序可能看起来是一个简单的挑战,但有多种技术可以优雅地终止给定的程序,或在出现意外问题时强制终止。在本节中,我们将讨论终止 Java 程序的各种方法以及...
阅读 4 分钟
素数因其独特的性质和在各个领域的应用而一直吸引着数学家。素数的一个这样引人入胜的方面是循环素数,它们是当它们的数字被循环旋转时仍然是素数的素数。在本文中,我们将深入探讨循环素数...
阅读 6 分钟
HashMap 是 Java 中用于存储键值对的基本数据结构。它们通过键提供对值的快速高效访问,使其成为各种应用程序的流行选择。通常,您可能需要比较两个 HashMap 以识别差异或相似之处。在此...
5 分钟阅读
在 Java 编程的世界中,数据处理是一项常见的任务,通常涉及操作对象集合。在 Java 8 发布之前,对集合执行操作需要编写冗长且容易出错的代码,使用循环或外部库。然而,随着...
5 分钟阅读
Java 的 `java.util` 包包含 `AbstractSequentialList` 类,它提供了 `List` 接口的基本实现,以减少使用“顺序访问”数据存储(例如链表)实现此接口所涉及的任务。为了摆脱所有元素……
阅读 3 分钟
在本节中,我们将学习什么是基数,并创建 Java 程序来查找基数。基数程序经常在 Java 编码面试和学术中出现。基数 基数用于表示数量。基数是计数词...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India