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

网站栏目按扭电子商务网站系统的开发设计

网站栏目按扭,电子商务网站系统的开发设计,网站建设系统多少钱,个人简历范文100字哎- -最近本来就没时间写算法 这算法怎么还这么难。。。 10、和为 K 的子数组 给你一个整数数组 nums 和一个整数 k #xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1#xff1a; 输入#xff1a;nums [1,1,1]…哎- -最近本来就没时间写算法 这算法怎么还这么难。。。 10、和为 K 的子数组 给你一个整数数组 nums 和一个整数 k 请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1 输入nums [1,1,1], k 2 输出2 示例 2 输入nums [1,2,3], k 3 输出2 提示 1 nums.length 2 * 104 -1000 nums[i] 1000 -107 k 107 思路解答 前缀和计算数组的前缀和并使用一个哈希表来记录之前出现过的前缀和及其出现次数。遍历数组遍历数组对于每个元素计算当前的前缀和并查找之前是否出现过前缀和为 prefix_sum - k 的情况如果有则累加对应的子数组个数。更新哈希表在遍历过程中更新哈希表记录当前前缀和的出现次数。 def subarraySum(self, nums: list[int], k: int) - int:count 0prefix_sum 0# 初始化前缀和为0的个数为1prefix_sum_count {0: 1}for num in nums:prefix_sum num# 更新count加上之前出现的前缀和为prefix_sum - k的个数count prefix_sum_count.get(prefix_sum - k, 0)# 更新当前前缀和的个数prefix_sum_count[prefix_sum] prefix_sum_count.get(prefix_sum, 0) 1return count 11、滑动窗口最大值 给你一个整数数组 nums有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口最大值。 示例 1 输入nums [1,3,-1,-3,5,3,6,7], k 3 输出[3,3,5,5,6,7] 解释 滑动窗口的位置 最大值 --------------- ----- [1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6 7 31 3 [-1 -3 5] 3 6 7 51 3 -1 [-3 5 3] 6 7 51 3 -1 -3 [5 3 6] 7 61 3 -1 -3 5 [3 6 7] 7 示例 2 输入nums [1], k 1 输出[1] 提示 1 nums.length 105 -104 nums[i] 104 1 k nums.length 思路解答 使用双端队列维护一个双端队列队列中存储的是数组元素的索引且队列中的索引对应的元素值是递减的。 滑动窗口处理在遍历数组的过程中对于每个元素首先判断队列中的第一个索引是否在当前滑动窗口内如果不在则将其移除。然后将当前元素与队列尾部的元素比较如果比队尾元素大则将队尾元素移除直到队列为空或者当前元素小于等于队尾元素。然后将当前元素的索引加入队列。 获取最大值每次滑动窗口移动时队列的第一个元素对应的就是当前滑动窗口的最大值。 def maxSlidingWindow(self, nums: list[int], k: int) - list[int]:if not nums:return []result []#创建双端队列window collections.deque()for i, num in enumerate(nums):# 移除不在窗口内的元素if window and window[0] i - k 1:window.popleft()# 移除比当前元素小的元素while window and nums[window[-1]] num:window.pop()window.append(i)# 当窗口大小达到k时记录当前窗口的最大值if i k - 1:result.append(nums[window[0]])return result 12、最小覆盖子串 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串则返回空字符串 。 注意 对于 t 中重复字符我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串我们保证它是唯一的答案。 示例 1 输入s ADOBECODEBANC, t ABC 输出BANC 解释最小覆盖子串 BANC 包含来自字符串 t 的 A、B 和 C。 示例 2 输入s a, t a 输出a 解释整个字符串 s 是最小覆盖子串。 示例 3: 输入: s a, t aa 输出: 解释: t 中两个字符 a 均应包含在 s 的子串中 因此没有符合条件的子字符串返回空字符串。 提示 m s.lengthn t.length1 m, n 105s 和 t 由英文字母组成 思路解答 滑动窗口法使用滑动窗口来解决这个问题。我们维护两个指针一个指向窗口的起始位置一个指向窗口的结束位置。移动右指针扩大窗口直到窗口包含了所有 t 中的字符。 满足条件时收缩窗口当窗口包含了所有 t 中的字符后我们尝试缩小窗口移动左指针并在移动过程中更新最小子串的长度和起始位置。 维护字符频次使用字典来维护 t 中字符的频次以及窗口中字符的频次确保窗口中包含了 t 中所有字符。 def minWindow(self, s: str, t: str) - str:if not s or not t:return t_freq collections.Counter(t)required_chars len(t_freq)left 0right 0formed 0window_freq {}ans float(inf), None, Nonewhile right len(s):char s[right]window_freq[char] window_freq.get(char, 0) 1if char in t_freq and window_freq[char] t_freq[char]:formed 1while formed required_chars and left right:if right - left 1 ans[0]:ans (right - left 1, left, right)char s[left]window_freq[char] - 1if char in t_freq and window_freq[char] t_freq[char]:formed - 1left 1right 1return if ans[0] float(inf) else s[ans[1]:ans[2] 1]
http://www.zqtcl.cn/news/566914/

相关文章:

  • 哪个网站可以做logo怀柔网页公司制作
  • 网站被抄袭怎么投诉网站建设丨金手指15
  • 中国交建平台seo搜索引擎优化是通过优化答案
  • 简述网站的建设流程图食品网站app建设方案
  • 西安建设厅网站首页听说上海又要封了
  • 兼职python做网站如何制作一个网站包含多个网页
  • 花园桥网站建设百度怎么创建网站
  • 做网站 客户一直要求改做网站学不需要做后台管理系统
  • 企业网站托管电话输入姓名查询个人征信
  • 域名注册了后怎么建设网站荆州市建设厅网站
  • 厦门网站建设合同wordpress的设置网址
  • 澎湃动力网站建设公司门户类网站建设需要多少钱
  • 祭祖网站怎么做咨询类网站开发的意义
  • 简书网站开发热门电影推荐
  • 中学教材数字化学习资源的建设——教材配套网站的设计及发展趋势建网站 发信息 做推广
  • 怎么写网站建设方案书制做网站的公司
  • 服务网站 建设原则游戏服务器租用多少钱一年
  • 软件网站下载现在出入深圳最新规定
  • 长宁专业网站制作公司陕西网站建设哪家专业
  • 重庆做的好的房产网站衡水的网站建设
  • 宜春网站开发网页编辑器安卓版
  • 网站建设外包兼职建设工程合同可以分为
  • 我国网络营销现状分析重庆网站seo营销模板
  • 深圳建站公司网站免费推广预期效果
  • html5 国外网站后台网站要做权限前端还是后台做
  • 免费建自己的网站网站标题 关键词 描述之间的关系
  • 提供响应式网站建设wordpress怎么做背景图片
  • 相亲网与做网站做网站的目的与意义
  • 做网站字体大小网站建设是属于虚拟产品吗
  • 网站的内链怎么做校园网建设网站特色