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

h5 建站网站 移动端win7系统下动网站建设

h5 建站网站 移动端,win7系统下动网站建设,网站建站定做,中国wordpress用的人少关于滑动窗口的概念,请自行到网上搜索相关资料,了解清楚再看本博客。 一、子组数最大平均数 LeetCode 第643题:https://leetcode.cn/problems/maximum-average-subarray-i/ 给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。 请你…

关于滑动窗口的概念,请自行到网上搜索相关资料,了解清楚再看本博客。 

一、子组数最大平均数

LeetCode 第643题:https://leetcode.cn/problems/maximum-average-subarray-i/

给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。

请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。

任何误差小于 10-5 的答案都将被视为正确答案。

输入:nums = [1,12,-5,-6,50,3], k = 4
输出:12.75
解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75
class Solution:def findMaxAverage(self, nums: List[int], k: int) -> float:# Step 1# 定义需要维护的变量# 本题求最大平均值 (其实就是求最大和),所以需要定义sum_, 同时定义一个max_avg (初始值为负无穷)sum_, max_avg = 0, -math.inf# Step 2: 定义窗口的首尾端 (start, end), 然后滑动窗口start = 0for end in range(len(nums)):# Step 3: 更新需要维护的变量 (sum_, max_avg), 不断把当前值积累到sum_上sum_ += nums[end]if end - start + 1 == k:max_avg = max(max_avg, sum_ / k)# Step 4# 根据题意可知窗口长度固定,所以用if# 窗口首指针前移一个单位保证窗口长度固定, 同时提前更新需要维护的变量 (sum_)if end >= k - 1:sum_ -= nums[start]start += 1# Step 5: 返回答案return max_avg

二、至多包含两个不同字符的最长子串

LeetCode 第159题:https://leetcode.cn/problems/longest-substring-with-at-most-two-distinct-characters/ 

class Solution:def lengthOfLongestSubstringTwoDistinct(self, s: str) -> int:# Step 1: # 定义需要维护的变量, 本题求最大长度,所以需要定义max_len,# 该题又涉及计算不重复元素个数,因此还需要一个哈希表max_len, hashmap = 0, {}# Step 2: 定义窗口的首尾端 (start, end), 然后滑动窗口start = 0for end in range(len(s)):# Step 3# 更新需要维护的变量 (max_len, hashmap)# 首先,把当前元素的计数加一# 一旦哈希表长度小于等于2(之多包含2个不同元素),尝试更新最大长度tail = s[end]hashmap[tail] = hashmap.get(tail, 0) + 1if len(hashmap) <= 2:max_len = max(max_len, end - start + 1)# Step 4: # 根据题意,  题目的窗口长度可变: 这个时候一般涉及到窗口是否合法的问题# 这时要用一个while去不断移动窗口左指针, 从而剔除非法元素直到窗口再次合法# 哈希表长度大于2的时候 (说明存在至少3个重复元素),窗口不合法# 所以需要不断移动窗口左指针直到窗口再次合法, 同时提前更新需要维护的变量 (hashmap)while len(hashmap) > 2:head = s[start]hashmap[head] -= 1if hashmap[head] == 0:del hashmap[head]start += 1# Step 5: 返回答案 (最大长度)return max_len

三、无重复字符最长字串

LeetCode 第3题:https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 'abc',所以其长度为 3。
class Solution:def findMaxAverage(self, nums: List[int], k: int) -> float:# Step 1# 定义需要维护的变量# 本题求最大平均值 (其实就是求最大和),所以需要定义sum_, 同时定义一个max_avg (初始值为负无穷)sum_, max_avg = 0, -math.inf# Step 2: 定义窗口的首尾端 (start, end), 然后滑动窗口start = 0for end in range(len(nums)):# Step 3: 更新需要维护的变量 (sum_, max_avg), 不断把当前值积累到sum_上sum_ += nums[end]if end - start + 1 == k:max_avg = max(max_avg, sum_ / k)# Step 4# 根据题意可知窗口长度固定,所以用if# 窗口首指针前移一个单位保证窗口长度固定, 同时提前更新需要维护的变量 (sum_)if end >= k - 1:sum_ -= nums[start]start += 1# Step 5: 返回答案return max_avg

http://www.yayakq.cn/news/980588/

相关文章:

  • 现在公司做网站还需要域名吗企业网站建设该怎么描述
  • 运城哪里做网站如何用iis做网站
  • 乐视网站建设目标wordpress修改后台登陆地址
  • 中国移动官方网站官网网络营销站点推广的方法
  • 江苏专业网站建设费用类似凡科互动的网站
  • wordpress建立商业网站自己做游戏网站学什么
  • 域名查询网站信息湖北省建设安全管理协会网站
  • 商城网站设计注意什么网站加载速度
  • 企业为什么做平台网站wordpress4.9 php版本
  • 房产网站开发报价网络营销推广渠道都有哪些方面
  • 怎样做3d动画短视频网站wordpress 底部小工具
  • 酷站百分百企业网站搭建 网络活动策划
  • 建设银行广东分行网站精品网站建设公司
  • 菜鸟教程网站开发wordpress如何设置用户中心
  • 网站常用字体大小中国建设网站红黑榜名单
  • 谷歌app官方下载优化设计官方电子版
  • 宽屏网站源码做网站销售这几天你有什么想法
  • 站长网ppt模板下载x网站免费
  • 防止访问网站文件夹果盘游戏推广平台
  • 科技通信网站模板下载网站建设1000字
  • 企业展示型网站源码密山网站
  • 如何建网站详细步骤wordpress编辑header
  • 如何将自己做的网站发布到网上网站关键词排名怎么优化
  • 杭州网站改版公司网站首页建设公司
  • 广州门户网站火锅店营销方案
  • 和一起做网店类似的网站一见钟情 网站
  • 长沙微网站开发住建房官网查询
  • 关于景区网站规划建设方案书济南百度推广优化
  • 济南网站微信建设工程合同法
  • h5网站制作平台天津住房与城乡建设厅网站