编写一个简单的算法来解决以下问题：给定一组数字，找到其中两个数字相加等于指定的目标数并返回它们的索引。
- 数组：[1, 5, 6, 8]
- 目标数字：11
1. 创建一个空字典
2. 遍历数组中的每个数字
3. 计算剩下数字需要的补数（即目标数字减去当前数字）
4. 检查字典中是否存在这个补数
5. 如果存在，说明这两个数字的和为目标数字，返回它们的索引
6. 如果不存在，将当前数字添加到字典中，以便后面的数字检查它们的补数
7. 如果遍历完整个数组都没有找到数字的和等于目标数字，返回一个空数组或者null值

代码实现：

```
def find_two_numbers(nums, target):
    hash_map = {}
    for i in range(len(nums)):
        complement = target - nums[i]
        if complement in hash_map:
            return [hash_map[complement], i]  # 如果找到一对数字，则返回它们的索引
        hash_map[nums[i]] = i  # 将当前数字添加到字典中
    return []  # 如果找不到一对数字，则返回一个空数组
```

调用函数：
```
nums = [1, 5, 6, 8]
target = 11
print(find_two_numbers(nums, target)) # 输出 [0, 3] （因为 1 + 10 或者 5 + 6 都等于 11）
```