Java 中除以字符串表示的大数2025 年 1 月 6 日 | 阅读 2 分钟 输入中,给定一个大数(以字符串形式)。我们需要用另一个数(以int数据类型形式)来除它。我们的任务是找到这些数字的除法,并返回这些数字的结果。 示例 1 输入 int num = 124587785421 int div = 963 输出 结果是 129374647 示例 2 输入 int num = 12548796324587 int div = 120 输出 结果是 104573302704 示例 3 输入 int num = 475213698410236589560 int div = 33 输出 结果是 14400415103340502713 方法:朴素方法算法步骤 1: 创建一个StringBuilder来保存结果。 步骤 2: 从输入字符串创建一个字符数组。 步骤 3: 将进位(carry)的初始值设置为0。 步骤 4: 对于数组中的每个字符,计算当前数字的公式是:进位 * 10 + 当前数字。 步骤 5: 计算部分商(current_number / divisor),并将其添加到结果中。 步骤 6: 通过计算 current_number % divisor 来更新进位。 步骤 7: 遍历结果,找到第一个非零字符。 步骤 8: 从该字符开始,返回到末尾的子字符串。 步骤 9: 如果结果中的所有字符都是零,则返回“0”。 步骤 10: 最后,打印商。 实施文件名: StringLongDivision.java 输出 The result is: 104573302704 复杂度分析 上述代码的时间复杂度为 O(N),空间复杂度为 O(N),其中 N 是数字字符串的长度。 |
Java 是一种通用且广泛使用的编程语言,它是实现各种算法和数学概念的绝佳选择。其中一个概念是处理圆。在本节中,我们将探讨如何在 Java 中编写 Circle 程序,涵盖不同的方法...
阅读 4 分钟
活动选择问题是基本的贪心算法挑战,需要选择最高数量的顺序活动。由于每项活动都指定了开始和结束时间,因此我们需要从给定的集合中选择最大数量的活动。该问题有效地用于...
5 分钟阅读
是当今世界上最流行的编程语言之一,广泛应用于从 Web 开发到移动应用程序开发的各种应用。Java 由 James Gosling 及其团队于 1990 年在 Sun Microsystems 开发。它因其简洁、易于……
阅读 4 分钟
? 在 Java 中,正则表达式(regex)是用于字符串内模式匹配的强大工具。默认情况下,Java's 正则表达式引擎区分大小写,这意味着它会在模式和输入字符串中区分大写和小写字母。然而,有一些方法和技术可以使 Java 正则表达式...
5 分钟阅读
Java 中的不可变性是指创建其状态在创建后无法更改的对象。不可变性在并发编程中特别有用,因为它消除了同步的需要并提供了一些线程保护。实现一致性改进的一种方法是创建……
阅读 13 分钟
要在 Java 中将文件转换为十六进制,可以使用 Integer 类的 toHexString 方法。此方法接受一个整数作为输入,并返回其十六进制值的字符串表示。以下是如何使用此方法的示例...
阅读 12 分钟
输入中给出了两个数组。一个数组是表示二叉树后序遍历的整数数组,另一个数组是提供有关叶子节点信息的布尔数组。对于后序中的每个元素...
阅读 3 分钟
字节码和机器码是编程中使用的两个重要术语。字节码是在带有 Java 虚拟机 (JVM) 的任何平台上都可以执行的编译代码。相反,机器码是可以直接由...执行的二进制代码。
阅读 2 分钟
外星人词典问题通过分析排序的单词列表来确定未知语言字符的顺序。它根据字符优先级构建有向图,检测循环以确保存在有效顺序,并应用拓扑排序以找到正确的序列……
阅读 6 分钟
编码在计算机科学和编程中数据的表示和操作中起着重要作用。程序员面临的一个常见挑战是“三字符串问题”,这通常发生在字符串更改时。在本节中,我们将探讨编码的概念,分析...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India