Jumping Number in Java2025 年 5 月 6 日 | 阅读 7 分钟 在本节中,我们将学习什么是跳跃数,并创建 Java 程序 来检查给定的数字是否为跳跃数。跳跃数程序经常在 Java 编码测试和学术中出现。 跳跃数如果数字 N 的所有相邻数字的绝对差为 1,则称 N 为跳跃数。请注意,9 和 0 之间的差不被视为 1。因此,所有个位数都被视为跳跃数。 跳跃数示例例如,数字 76789 是一个跳跃数,因为每个相邻数字的差为 1。 数字 952不是跳跃数,因为相邻数字的差分别为 4 和 3。 ![]() 其他跳跃数有 45676、212、121、123、210、212、232、234、321、323、343、345、432、434、454、456、543、545、565、567、654、656、676、678、765、767、787、789、876 等。 查找跳跃数的步骤
让我们在 Java 程序中实现上述逻辑。 跳跃数 Java 程序JumpingNumberExample1.java 输出 1 Enter a number: 121 121 is a jumping number. 输出 2 Enter a number: 7839 7839 is not a jumping number. 打印给定范围内的所有跳跃数有两种方法可以打印给定范围内的所有跳跃数
使用 DFS在 DFS 中,我们不检查每个整数,而是直接打印所有跳跃数。为了实现这一点,我们从第一个跳跃数即 0 开始,并为其附加一个新数字,使下一个数字和前一个数字之间的差为 1。 请注意,如果前一位数字是 0,则唯一可能的下一个数字是 1,这将生成下一个跳跃数,即 1。类似地,对于数字 9,唯一可能的下一个数字是 8,而不是 10。但是对于数字 1 到 8,我们总是有两个下一个数字的选项(一个小于它,一个大于它)。 上述过程以 1 重复。此时,下一个数字有两个可能的选项,即 2 和 0,它们生成两个新的跳跃数,即 12 和 10。 在这种方法中,我们将数字视为图的节点。让我们看看 DFS 中实现的步骤。
让我们在 Java 程序中实现上述方法。 JumpingNumberExample2.java 输出 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98, 101] 让我们来看一个相同的程序,但在下面的程序中我们没有使用 DFS。 JumpingNumberExample3.java 输出 Jumping numbers for specified range are: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98, 101, 121, 123 使用 BFS该方法与 DFS 类似。但是,除了使用 DFS,我们还可以使用 BFS 来生成图。让我们来看看这个方法。
让我们在 Java 程序中实现上述方法。 JumpingNumberExample4.java 输出 Jumping numbers for specified range are: 0 1 10 12 101 121 123 2 21 23 210 212 232 234 3 32 34 321 323 343 345 4 43 45 432 434 454 456 5 54 56 6 65 67 7 76 78 8 87 89 9 98 |
? Java 中的 ArrayList 是一个动态可调整大小的数组,可以容纳任何类型的对象。在处理基于时间的数据时,将日期添加到 ArrayList 是常规活动。在本节中,我们将讨论将日期添加到 ArrayList 的各种方法...
5 分钟阅读
超文本传输协议(HTTP)支持多种方法来在服务器上执行任何任务或从服务器接收任何数据。Java 的 Get 和 Post 方法是 HTTP 中用于从服务器发送和接收数据的两种重要方法。尽管这两种方法...
阅读 6 分钟
当链表中的一个节点指向前面的节点时,会形成一个循环,创建一个周期而不是结束列表。检测和移除此循环可以恢复列表的线性结构,避免无限遍历并提高其对后续操作的可靠性。方法:使用哈希此...
阅读9分钟
Java 是一种面向对象的编程语言,用于设计和开发桌面和 Web 应用程序。我们可以在任何平台上运行 Java 代码,因此它是平台无关的。要编写任何编程语言的代码,我们需要一个文本编辑器...
7 分钟阅读
? 链表是基本的数据结构,可以在计算机编程中高效地存储和操作数据。它们由节点组成,每个节点包含数据和指向列表中下一个节点的引用。在本文中,我们将探索 Java 中链表的各种操作,...
阅读 6 分钟
在当今世界,一切都是即时的,并且是快进的。通过互联网可以访问的在线编译器对于那些试图学习新编程语言但尚未准备好安装必要软件设置的程序员来说非常有用。在本节中,我们将讨论 JDoodle...
阅读 3 分钟
有向图中的循环检测是图论中的一个核心问题,在依赖解析、调度以及某些游戏算法的某些方面中经常使用。循环实际上是一个闭合路径,它是一个从...开始的路径。
阅读 10 分钟
当给定一个整数数组 nums[] 和一个正整数 K 时,任务是找到从数组中选择的最多值,使得其二进制表示中的 1 的总数最多为 K。示例 1:输入:int……
阅读 3 分钟
图像处理是计算机视觉和数字图像分析的关键方面,涉及对数字图像进行操作和分析以提取有用信息或提高其质量。Java 凭借其强大的库和多功能性,提供了出色的图像处理工具。在本节中,...
阅读 6 分钟
在编程世界中,null 值长期以来一直是令人沮丧的根源,导致 NullPointerException 导致应用程序崩溃并产生意外行为。为了解决这个问题,Java 在 Java 8 中引入了 Optional 类,提供了一个容器类型,该类型包含一个非 null...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。

我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India
