------
## 最终结论
```python
def h_index(citations):
    n = len(citations)
    left, right = 0, n - 1
    while left <= right:
        mid = (left + right) // 2
        if citations[mid] == n - mid:
            return n - mid
        elif citations[mid] < n - mid:
            left = mid + 1
        else:
            right = mid - 1
    return n - left

# Example usage:
citations = [0, 1, 3, 5, 6]
print(h_index(citations))  # Output: 3
```