Java程序查找丢失的数字

2023年 8月 28日 25.4k 0

Java程序查找丢失的数字

丢失数字是连续元素流或数组中丢失的数字。在本节中,我们将讨论使用 java 编程语言在元素流中查找丢失数字的各种方法。

数组中丢失数字的示例

丢失的数字是数组中连续数字序列中丢失的数字。

考虑一个数组;

arr=[1,2,3,4,5,6,8]

上面的数组‘arr’中,缺少了7,所以7就是丢失的数字

示例2

考虑一个数组;

arr=[1,2,3,4,5,6,7,8,9,11]

上面的数组'arr'中,缺少10,所以10就是丢失的数字

现在,我们将讨论 Java 中查找流中丢失的数字的各种方法。

方法一:使用stream()和sum()方法

在这种方法中,我们使用stream()函数并将数组转换为流,然后使用sum()函数计算流的总和并存储在'actualsum'变量中,然后我们计算预期总和使用公式 n*(n+1)/2 ,然后我们使用预期总和 - 实际总和找到丢失的数字。

算法

  • 使用一些值初始化数组。

  • 使用stream()和sum()方法计算数组的总和

  • 计算数组长度,并使用 n 项之和公式求出连续数字的预期总和。

  • 减去期望值和总和,将其分配给变量并打印。

Stream() - 'Stream()'方法用于创建元素流,以便我们可以使用filter()、map()、reduce()等方法来处理数据 p>

Arrays.stream(collection)

登录后复制

sum() - 此方法用于计算集合中所有元素的总和。

stream.sum()

登录后复制

示例

在这个例子中,我们将使用stream()和sum()方法通过java来查找丢失的数字。

import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 5};
int sum = Arrays.stream(array).sum();
int n = array.length + 1;
int expectedvalue = (n * (n + 1)) / 2;
int lostnumber = expectedvalue - sum;
System.out.println("lost number " + lostnumber);
}
}

登录后复制

输出

lost number 4

登录后复制

方法 2:使用异或

在这种方法中,我们计算n个值的XOR并存储在expectedValue变量中,然后计算XOR的actualValue,最后我们在之间执行XOR ExpectedValue 和actualValue 来获取丢失的数量。

算法

  • 使用一些值初始化数组。

  • 计算数组的长度并加 1,因为我认为数组中的实际数字应该是 array.length+1 并分配给变量“n”。

  • 将期望值设置为 1,并使用 XOR 运算符使用 for 循环计算期望值,直到 n。

  • 将期望值设置为数组[0],并使用 XOR 运算符使用 for 循环计算数组中存在的元素的实际值。

  • 使用预期值和实际值的 XOR 运算符计算丢失的数字并打印

异或运算 (^) - 异或运算执行按位运算,如果两个位都为 1,则返回 1,否则返回 0。它由 ^ 表示。

A ^ b // where 'a' and 'b' are integers.

登录后复制

示例

在此示例中,我们将使用 XOR 运算符并使用 java 查找丢失的数字。

public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 5}; // input array with missing number
int n = array.length + 1; // total number of elements if no number was missing
int expectedValue = 1; // expected XOR value if no number was missing
for (int i = 2; i

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论