1宝石与石头
思路:
- 先将str转换为list
- for i in list,可以直接在list中查找
- 如果stones[i]在list中,则count+1
答案:
class Solution:
def numJewelsInStones(self, jewels: str, stones: str) -> int:
list_jewels = list(jewels)
list_stones = list(stones)
count = 0
l = len(list_stones)
for i in range(l):
if list_stones[i] in list_jewels:
count=count+1
return count
2两数之和
思路:哈希表查找下标对
- 遍历nums,如果target - nums[i]不在字典中,制作字典键值num_dict[nums[i]] = i
- 如果target - nums[i]在字典中,则返回[num_dict[target - nums[i]],i]
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
size = len(nums)
num_dict = dict()
for i in range(size):
if target - nums[i] in num_dict:
return [num_dict[target - nums[i]],i]
num_dict[nums[i]] = i
return []
3数组串联
本题评论如下: