统计数组中不同的数字
时间: 2024-12-22 22:17:02 浏览: 30
统计数组中不同的数字通常涉及到数据去重和计算唯一元素的数量。在编程中,你可以通过多种算法来完成这个任务,这里以Python为例:
```python
def count_unique_numbers(arr):
# 使用集合(Set)自动去除重复并返回唯一元素数量
unique_elements = set(arr)
return len(unique_elements)
# 示例数组
example_array = [1, 2, 3, 4, 4, 5, 6, 6]
unique_count = count_unique_numbers(example_array)
print(f"数组中有 {unique_count} 个不同的数字.")
```
如果你需要遍历数组并手动记录每个独特的数字,可以这样做:
```python
def count_unique_numbers_iterative(arr):
unique_numbers = []
for num in arr:
if num not in unique_numbers:
unique_numbers.append(num)
return len(unique_numbers)
unique_numbers_list = count_unique_numbers_iterative(example_array)
print("数组中不同的数字有:", unique_numbers_list)
```
相关问题
c语言统计数组中的不同数字并打印
在C语言中,要统计数组中的不同数字并打印,我们可以使用一个计数器和一个标志数组来实现。首先,初始化一个长度为数组长度的标志数组,所有元素的值都设置为0,然后遍历数组中的每个元素,如果该元素在标志数组中没有被标记过(即元素对应的标志数组中的值为0),那么就将计数器加一,并将该元素对应的标志数组中的值标记为1。最后打印出计数器的值即可。
以下是一个简单的示例代码:
```c
#include <stdio.h>
#define ARRAY_SIZE 10 // 数组大小
int main() {
int array[ARRAY_SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1}; // 测试数组
int count = 0; // 计数器
int flag[ARRAY_SIZE] = {0}; // 标志数组,初始值都设置为0
for (int i = 0; i < ARRAY_SIZE; i++) {
if (flag[i] == 0) { // 如果该元素没有被标记过
flag[i] = 1; // 标记该元素
count++; // 计数器加一
printf("%d ", array[i]); // 输出不同的数字
}
}
printf("\n数组中不同的数字有 %d 个。\n", count); // 输出不同数字的个数
return 0;
}
```
用Java语言初始化一个数组,并统计数组中有多少个不同的数字
好的,下面是Java代码实现:
```java
public class Main {
public static void main(String[] args) {
// 初始化数组
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3, 6, 7, 8, 9, 9, 8, 7, 6, 0};
// 使用Set统计不同的数字
Set<Integer> set = new HashSet<>();
for (int i : arr) {
set.add(i);
}
// 输出不同数字的个数
System.out.println("不同数字的个数为:" + set.size());
}
}
```
程序输出:
```
不同数字的个数为:10
```
其中,我们使用了 `HashSet` 来统计不同的数字,因为 `HashSet` 中的元素不能重复,所以最终 `set` 中元素的个数就是不同数字的个数。
阅读全文
相关推荐

















