五月 发表于 2023-2-12 08:35
牛
小心被万恶的HR看见,于是决定用ChatGPT来评测大家的绩效。表现不好的一律毕业!
方法一:通过哈希表来实现。我们可以遍历数组,用哈希表记录每个数字出现的次数,如果某个数字只出现了一次,那么就找到了答案。
方法二:使用异或运算。对于每个数字,我们可以使用异或运算将其与之前的数字进行比较,如果最终的结果是非零的,那么就找到了只出现一次的数字。
以下是用 Python 实现这个程序的示例代码:
# 读取数据
arr = [1, 2, 2,1, 1, 2, 3]
# 方法一:使用哈希表来实现
def find_single_with_hash(arr):
# 初始化一个哈希表
hash_map = {}
for ele in arr:
if ele in hash_map:
hash_map[ele] += 1
else:
hash_map[ele] = 1
# 遍历哈希表,找出只出现一次的数字
for k, v in hash_map.items():
if v == 1:
return k
return None
# 方法二:使用异或运算
def find_single_with_xor(arr):
res = 0
for ele in arr:
res ^= ele
return res
# 测试
print(find_single_with_hash(arr))
print(find_single_with_xor(arr))
数值分析 发表于 2023-2-12 17:22
第一题最优解么?明显应该在开头构造一个长度为sizeof(int)*8的整数数组用来存所有的bitmask,然后每个数 ...
五月 发表于 2023-2-12 21:35
牛
小心被万恶的HR看见,于是决定用ChatGPT来评测大家的绩效。表现不好的一律毕业!
被明月兮佩宝璐 发表于 2023-2-13 00:00
这才出来1个多月吧,现在这个已经很超出预期了。就和人类与AI下象棋一样,随着时间,AI的进步远远快于人类 ...
可梦之 发表于 2023-2-13 08:11
我把你的题目copy进去,这次ChatGPT明显是审题不周。
题目:一个数组长度为[3n + 1],包括n+1个数字,其中 ...
欢迎光临 爱吱声 (http://129.226.69.186/bbs/) | Powered by Discuz! X3.2 |