当前位置: 首页 > news >正文

网站建设与制作这个行业怎么样呢新手做seo怎么做

网站建设与制作这个行业怎么样呢,新手做seo怎么做,广告营销策划方案怎么写,创意 wordpress主题前言 回学校了,荒废了半天之后打算奋发图强猛猛刷题,找实习!赚钱!! 560. 和为 K 的子数组 - 力扣(LeetCode) 前缀法 哈希表 这个题解解释比官方清晰,截个图方便看,另一…

前言

  • 回学校了,荒废了半天之后打算奋发图强猛猛刷题,找实习!赚钱!!

560. 和为 K 的子数组 - 力扣(LeetCode)

  • 前缀法 + 哈希表

    • 这个题解解释比官方清晰,截个图方便看,另一个题解的代码简洁
    • class Solution:def subarraySum(self, nums: List[int], k: int) -> int:prefixSumArray = {0:1}  # 初始化一个字典,用于存储前缀和出现的次数,初始时前缀和为0出现了1次count = 0  # 初始化计数器prefixSum = 0  # 初始化前缀和为0for ele in nums:  # 遍历输入的nums列表prefixSum += ele  # 计算当前位置的前缀和subArray = prefixSum - k  # 计算符合条件的子数组和if subArray in prefixSumArray:  # 如果当前前缀和减去k的值在字典中count += prefixSumArray[subArray]  # 更新计数器,累加符合条件的子数组和的个数'''prefixSumArray.get(prefixSum, 0)在hash table里查找key,如果有返回对应的value,反之返回0 '''prefixSumArray[prefixSum] = prefixSumArray.get(prefixSum, 0) + 1  # 更新前缀和字典中前缀和出现的次数return count  # 返回符合条件的子数组和的个数
    • class Solution:def subarraySum(self, nums: List[int], k: int) -> int:# num_times 存储某“前缀和”出现的次数,这里用collections.defaultdict来定义它# 如果某前缀不在此字典中,那么它对应的次数为0num_times = collections.defaultdict(int)num_times[0] = 1  # 先给定一个初始值,代表前缀和为0的出现了一次cur_sum = 0  # 记录到当前位置的前缀和res = 0for i in range(len(nums)):cur_sum += nums[i]  # 计算当前前缀和if cur_sum - k in num_times:  # 如果前缀和减去目标值k所得到的值在字典中出现,即当前位置前缀和减去之前某一位的前缀和等于目标值res += num_times[cur_sum - k]# 下面一句实际上对应两种情况,一种是某cur_sum之前出现过(直接在原来出现的次数上+1即可),# 另一种是某cur_sum没出现过(理论上应该设为1,但是因为此处用defaultdict存储,如果cur_sum这个key不存在将返回默认的int,也就是0)# 返回0加上1和直接将其置为1是一样的效果。所以这里统一用一句话包含上述两种情况num_times[cur_sum] += 1return res

 239. 滑动窗口最大值 - 力扣(LeetCode)

  •  单调队列

    • 参考灵神的题解视频,单调队列的使用类似单调栈,复习一下C++实现
    • class Solution:def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]:ans = []q = deque()  # 双端队列for i, x in enumerate(nums):# 1. 入while q and nums[q[-1]] <= x:  # 非空并且当前值大于队尾q.pop()  # 弹出队尾,维护 q 的单调递减性q.append(i)  # 入队,存下标# 2. 出if i - q[0] + 1 > k:  # 队首已经离开窗口,弹出q.popleft()# 3. 记录答案if i >= k - 1:  # 至少过了窗口大小再记录# 由于队首到队尾单调递减,所以窗口最大值就是队首ans.append(nums[q[0]])return ans

 76. 最小覆盖子串 - 力扣(LeetCode)

  • 滑动窗口 + 哈希法

    • 这题之前也解过,这次可以有更简洁的思路,只用一个mp即可
    • class Solution:def minWindow(self, s: str, t: str) -> str:mp = collections.defaultdict(int)  # 避免不存在判空,默认0# 将需要匹配的字符数存入哈希for ch_t in t:mp[ch_t] += 1     lens, lent = len(s), len(t)count, res = lent, ""  # count记录匹配相等,完全匹配为0min_len = lens + 1  # 用于更新最小窗口长度l = 0  # 左边界# 最小滑窗,while里更新结果for r in range(lens):if mp[s[r]] > 0:count -= 1mp[s[r]] -= 1  # 消耗掉# 如果完全匹配成功,收缩左边界while count == 0:  if r - l < min_len:  # 如果窗口长度比之前的小就记录结果min_len = r - l + 1res = s[l:r+1]if mp[s[l]] == 0:  # 如果是要匹配的字符就增加countcount += 1mp[s[l]] += 1  # 还回去l += 1  # 收缩边界return res

后言

  •  快两周没碰代码了,果然还是生疏了,得持续地码,脚踏实地是解决焦虑的最佳手段
http://www.hkea.cn/news/539274/

相关文章:

  • wordpress日主题破解网站排名优化软件有哪些
  • 做公众号app 网站 app济南网站设计
  • 单位网站 单位网页 区别吗福州seo顾问
  • 专业做网站制作的公司百度地图网页版进入
  • 买卖网站域名骗局百度推广登陆
  • 石家庄大型网站设计公司手机怎么建网站
  • 政府网站图解怎么做百度关键词排名靠前
  • 天津做网站印标东莞网络推广排名
  • 设计一个外贸网站需要多少钱沈阳网站推广优化
  • 洗化行业做网站福州百度seo排名
  • 西安app网站开发项目腾讯域名注册官网
  • 网站开发的技术指标如何做网站搜索引擎优化
  • 建网站的要求老铁外链工具
  • wordpress有广告郑州seo优化大师
  • 企业网站推广的实验内容企业宣传网站
  • 如何开发高端市场宁波seo快速优化公司
  • 常用设计资源网站爱网站
  • 企业品牌网站营销关于seo的行业岗位有哪些
  • 群晖怎样做网站惠州网络营销
  • 怎么做网站内部链接的优化品牌营销推广代运营
  • 婚纱照网站制作搜索引擎优化搜索优化
  • 网站建设吉金手指专业13中国营销网站
  • 做销售在哪些网站注册好百度产品
  • dw做汽车网站seo排名工具提升流量
  • 网络培训学校排名奉化seo页面优化外包
  • vps除了做网站还能做什么晨阳seo服务
  • seo网站建设优化什么意思网络营销与直播电商专业就业前景
  • 工程建设企业网站网站关键词优化应该怎么做
  • 修复wordpress青岛网站优化
  • 敦煌网站做外贸怎样网页推广怎么做的