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

如何规划一个外贸网站网站建设成本

如何规划一个外贸网站,网站建设成本,seo推广品牌排行榜,广州seo网站开发前言 回学校了,荒废了半天之后打算奋发图强猛猛刷题,找实习!赚钱!! 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.yayakq.cn/news/911676/

相关文章:

  • 阜新本地网站建设平台wordpress网站logo没显示
  • 全功能电子商务网站建设建设银行网站 查余额
  • 灵犀科技 高端网站建设首页网站推广描述
  • 想建一个免费的网站触屏版手机网站开发
  • 网站开设作风建设专栏哪个行业最需要推广
  • 云浮市住房和城乡建设局网站上海做网站推广公司
  • 深圳做网站龙华新科电影网站网页设计实训报告
  • 推广网站怎样阻止企业邮箱账号大全
  • 企业网站栏目设计wordpress+悬浮按钮
  • 网站备案填了虚假座机能过吗深圳市宝安区怎么样
  • 建立网站目录的时候苏州网站推广优化
  • 一个公司做多个网站深圳专业做网站排名哪家好
  • 金华城乡建设部网站首页一个网站做多有几种颜色
  • 建设网站6980块钱贵吗搜索关键词排行榜
  • 网站优化两大核心要素是什么qq群推广引流免费网站
  • 网站首页被k怎么办阿里云网站建设需要多少钱
  • 要制作自己的网站需要什么河北关键词seo排名
  • 站酷网免费素材图库官网友汇网站建设管理后台
  • 用lnmp做网站商丘柘城做网站
  • 濮阳新闻综合频道网站网站服务公司案例
  • 建造网站需要什么wordpress中文商城模板
  • 网站建设二级页面方案flash网站制作单选框和复选框ui组件
  • 建行网站用户名是什么商用厨房设计书籍
  • 网站文件夹权限阿里云免费建站
  • 青海wap网站建设公司598网站建设
  • 高校校园网站建设做电影网站要多少钱
  • 小微型企业网站建立怎么主机安装wordpress
  • 广西建网站公司南头专业的网站建设公司
  • 做网站需要ftpwordpress 微博登录
  • 山东省建设部官方网站google浏览器官方下载