📅  最后修改于: 2023-12-03 14:54:56.998000             🧑  作者: Mango
数据结构和算法是计算机科学中非常重要的一部分。掌握好数据结构和算法可以帮助我们写出更有效率、更健壮的程序。这个仓库收集了36套数据结构和算法题库,旨在帮助程序员提升自己的算法能力。
这个仓库中包含了36个不同难度级别的数据结构和算法题库。每个题库都包含若干个题目。每个题目都有详细的题面描述、输入输出格式、样例输入输出、题目解析和代码实现等。
以下是题库列表:
1. [LeetCode](https://leetcode.com/)
### 题目描述
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
### 示例
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
### 解析
这个问题可以使用暴力枚举或者哈希表来解决。哈希表的时间复杂度是O(n),空间复杂度是O(n)。代码如下:
```python
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
hashmap = {}
for i, num in enumerate(nums):
if target - num in hashmap:
return [hashmap[target - num], i]
hashmap[num] = i
return [-1, -1]