评论比较有意思,刷题什么的飒飒shui
有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。
每当我别的题不会时,我就回来刷第一题。
尝试用c++和py解
c++ 暴力解法
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int nums_size = nums.size();
for(int i = 0;i < nums_size; i++){
for(int j = i + 1; j < nums_size; j++){
if(nums[i] + nums[j] == target){
return {i,j};
}
}
}
return{};
}
};
python hash
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
hashmap = {}
lennums = len(nums)
for i in range(lennums): # 一边将nums中的元素加入hashmap中,一边判断差值是否在hashmap中
d_value = target - nums[i] # 差值
if d_value in hashmap:
return [hashmap[d_value], i]
hashmap[nums[i]] = i # 保证key不重复,需要先判断后加入