给定二维数组a[1...m,1...n],含有m乘n个元素,设计算法判断数组a中所有元素是否互不相同? 输入样本 3 4 元素 2 4 5 7 1 6 8 11 5 7 8 9 11 7 8 9 输出样本 No
时间: 2024-11-06 21:17:35 浏览: 7
为了判断给定的二维数组`a[1...m,1...n]`中所有元素是否互不相同,可以采用哈希集合(HashSet)的数据结构来存储已遍历过的元素,然后逐个比较。以下是基本步骤:
1. 创建一个空的哈希集合(HashSet)。
2. 遍历整个二维数组:
- 对于每个元素`a[i][j]`,检查它是否已经在集合中。如果在,则说明有重复元素,直接返回`No`。
- 如果不在集合中,将该元素添加到集合中。
3. 遍历结束后,如果没有发现重复元素,那么所有的元素都是唯一的,返回`Yes`。
以下是一个伪代码示例:
```python
def is_unique_in_array(m, n, a):
unique_set = set()
for i in range(m):
for j in range(n):
if a[i][j] not in unique_set:
unique_set.add(a[i][j])
else:
return "No"
return "Yes"
# 示例
input_dim = [3, 4]
elements = [
[2, 4, 5, 7],
[1, 6, 8, 11],
[5, 7, 8, 9],
[11, 7, 8, 9]
]
output = is_unique_in_array(*input_dim, elements)
print(output) # 输出:No
```
阅读全文