帮我写一个只出现一次的数字
时间: 2023-06-04 13:05:39 浏览: 51
好的,可以使用哈希表来解决这个问题。具体的解法是对于给定的数组,遍历数组中的每个数字,使用哈希表记录每个数字出现的次数。然后再次遍历数组,找到第一个在哈希表中只出现一次的数字即可。如果不存在只出现一次的数字,则返回 -1。以下是参考代码:
```
#include <unordered_map>
int findUnique(std::vector<int>& nums)
{
std::unordered_map<int, int> count;
for (int num : nums) {
count[num]++;
}
for (int num : nums) {
if (count[num] == 1) {
return num;
}
}
return -1;
}
```
相关问题
用数组的形式帮我写一个统计数字的代码
好的,以下是一个统计数字的代码,使用了数组的形式:
#include <stdio.h>
int main() {
int nums[10] = {}; // 初始化数组,每个元素都为
int num;
printf("请输入一串数字:\n");
while (scanf("%d", &num) != EOF) { // 循环读入数字,直到输入结束
if (num >= && num <= 9) { // 判断数字是否在~9之间
nums[num]++; // 对应数字的计数器加1
}
}
printf("数字统计结果如下:\n");
for (int i = ; i < 10; i++) { // 遍历数组,输出每个数字的出现次数
printf("%d出现了%d次\n", i, nums[i]);
}
return ;
}
帮我写一个随即获得0到100以内的50个不重复数字的pyton代码
当然可以,以下是代码:
```python
import random
numbers = set()
while len(numbers) < 50:
numbers.add(random.randint(0, 100))
print(numbers)
```
这段代码使用了一个 `set` 来存储已经生成的数字,确保每个数字只出现一次,直到集合的大小达到 50 个为止。然后使用 `print` 方法来输出这 50 个数字。