给出一道简单的编程题目，要求GPT模型对代码进行语法和逻辑上的检查，并给出修改建议。
请编写一个程序，输入一个数组和一个目标值，返回数组中可以相加得到目标值的两个数字的下标。
示例输入：[2, 7, 11, 15]，9
以下是实现此功能的Python代码：

```python
def twoSum(nums, target):
    num_dict = {}
    for i in range(len(nums)):
        complement = target - nums[i]
        if complement in num_dict:
            return [num_dict[complement], i]
        num_dict[nums[i]] = i
    return [-1, -1]
```

该函数接受一个整数数组和一个整数目标值作为输入，输出一个数组，其中包含两个数字的下标，这两个数字的和等于目标值。如果找不到这样的两个数字，则返回[-1, -1]。

该函数的时间复杂度为O(n)，其中n为数组中的元素数量。该函数首先创建一个空字典，然后依次检查数组中的每个元素。对于每个元素，它会计算与目标值的差值，然后在字典中查找该差值是否存在。如果存在，则该函数会返回已知的索引和当前索引。如果差值不存在于字典中，则将当前元素添加到字典中，并继续循环。

该函数使用了字典的键值对来记录数组中已经遍历的元素及其索引信息，从而避免了需要两次循环来查找目标数字的情况。