一个包含 1-100 数字的数组中,有一个数字丢失了,如何快速的找出它?
时间: 2024-04-28 19:24:12 浏览: 18
可以使用数学公式来求出数组中缺失的数字,具体方法如下:
1. 计算原始数组中所有数字的和,可以使用等差数列求和公式:sum1 = (1 + 100) * 100 / 2 = 5050。
2. 遍历当前数组,计算其中所有数字的和,得到 sum2。
3. 缺失的数字就是 sum1 - sum2。
因此,可以通过以上方法快速找出数组中缺失的数字。
相关问题
用c语言创建一个0-100的数组
您好,以下是使用C语言创建一个0-100的数组的示例代码:
```
#include <stdio.h>
int main() {
int array[101]; // 定义包含101个元素的数组
int i;
// 循环赋值 0-100 的值给数组
for (i = 0; i <= 100; i++) {
array[i] = i;
}
// 输出数组中的值
for (i = 0; i <= 100; i++) {
printf("%d ", array[i]);
}
return 0;
}
```
以上代码将创建一个包含101个元素的数组,然后使用循环将0-100的值赋给数组中的每个元素。最后,使用循环输出数组中的值。希望能对您有所帮助。
java中找出数组中第一个重复的数字。
可以使用哈希表(Hash Table)来解决该问题,具体步骤如下:
1. 创建一个哈希表(HashMap)用于存储数组中的数字,初始为空。
2. 遍历数组中的每个数字,对于每个数字,如果该数字不在哈希表中,则将该数字作为键,值为 true 存入哈希表中;如果该数字已经在哈希表中,则说明该数字是数组中的重复数字,直接返回该数字即可。
3. 如果遍历完数组后仍然没有找到重复数字,则返回 -1。
以下是 Java 代码实现:
```java
public static int findDuplicate(int[] nums) {
Map<Integer, Boolean> map = new HashMap<>();
for (int num : nums) {
if (map.containsKey(num)) {
return num;
} else {
map.put(num, true);
}
}
return -1;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)