有一个8个数的数组{1,2,3,3,4,5,6,6},计算其中不重复数字的个数。

  1. 有一个8个数的数组{1,2,3,3,4,5,6,6},计算其中不重复数字的个数。
    int values = {1,2,3,3,4,5,6,6};
    HashSet set = new HashSet();
    foreach(int i in values)
    {set.Add(i);}
    Console.WriteLine(set.Count)
要删除一个无序数组中的重复元素并输出,可以采取以下步骤进行编程: 1. 遍历数组,记录已经出现过的元素。 2. 使用一个新的数组或数据结构(如哈希表)来存储重复的元素。 3. 再次遍历原数组,检查每个元素是否已经记录过,如果没有,则添加到新数组中。 4. 输出新数组,即为删除了重复元素后的结果。 以C语言为例,可以使用一个哈希表来记录出现过的元素,这样可以快速检查元素是否重复。以下是一个简单的示例代码: ```c #include <stdio.h> #include <stdlib.h> // 定义哈希表的大小 #define HASH_SIZE 10 // 哈希函数,用于计算元素的哈希值 unsigned int hash(int key) { return key % HASH_SIZE; } int main() { int a[] = {1, 2, 4, 2, 1, 6}; int n = sizeof(a) / sizeof(a[0]); int hashTable[HASH_SIZE] = {0}; // 初始化哈希表 int uniqueCount = 0; // 重复元素的数量 int uniqueArray[n]; // 存储重复元素的数组 // 遍历数组并填充哈希表 for (int i = 0; i < n; i++) { int hv = hash(a[i]); if (hashTable[hv] == 0) { // 如果该哈希位置还没有元素 hashTable[hv] = a[i]; // 标记为已出现 uniqueArray[uniqueCount++] = a[i]; // 存储到重复数组中 } } // 输出重复的元素 for (int i = 0; i < uniqueCount; i++) { printf("%d", uniqueArray[i]); if (i < uniqueCount - 1) printf("c"); } return 0; } ``` 这段代码会输出删除重复元素后的数组,例如对于输入数组`{1, 2, 4, 2, 1, 6}`,输出应该是`1246`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值