数据结构基础教程,第三天学习内容有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计390个文字,预计阅读时间需要2分钟。
pythonclass Solution: def intersectionII(self, nums1: List[int], nums2: List[int]) -> List[int]: count1={} count2={}
for num in nums1: if num in count1: count1[num] +=1 else: count1[num]=1
for num in nums2: if num in count2: count2[num] +=1 else: count2[num]=1
result=[] for num in count1: if num in count2: min_count=min(count1[num], count2[num]) result.extend([num] * min_count)
return result
350. 两个数组的交集 II
以数组形式返回两数组的交集(数组形式,返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致)。 排序后双指针遍历。
121. 买卖股票的最佳时机
只需要记录下当前最低价,遍历价格过程中,用当前价格-最低价 就是当前可获得的最大利润。另外如果出现了更低的价格,则最低价也要更新。(一个朴素的想法,要是我在最低点买进就好了) 总的最大利润就是这些利润中的最大值。
class Solution: def maxProfit(self, prices: List[int]) -> int: r = 0 min_price = float('inf') # float('inf')表示正无穷 for price in prices: min_price = min(min_price, price) # 截止到当前的最低价(买入价) r = max(r, price - min_price) # 截止到目前的最高利润 return r本文共计390个文字,预计阅读时间需要2分钟。
pythonclass Solution: def intersectionII(self, nums1: List[int], nums2: List[int]) -> List[int]: count1={} count2={}
for num in nums1: if num in count1: count1[num] +=1 else: count1[num]=1
for num in nums2: if num in count2: count2[num] +=1 else: count2[num]=1
result=[] for num in count1: if num in count2: min_count=min(count1[num], count2[num]) result.extend([num] * min_count)
return result
350. 两个数组的交集 II
以数组形式返回两数组的交集(数组形式,返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致)。 排序后双指针遍历。
121. 买卖股票的最佳时机
只需要记录下当前最低价,遍历价格过程中,用当前价格-最低价 就是当前可获得的最大利润。另外如果出现了更低的价格,则最低价也要更新。(一个朴素的想法,要是我在最低点买进就好了) 总的最大利润就是这些利润中的最大值。
class Solution: def maxProfit(self, prices: List[int]) -> int: r = 0 min_price = float('inf') # float('inf')表示正无穷 for price in prices: min_price = min(min_price, price) # 截止到当前的最低价(买入价) r = max(r, price - min_price) # 截止到目前的最高利润 return r
