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

滑动窗口与双指针(1)——定长

class Solution(object):def maxVowels(self, s, k):ans = vowel = 0for i, w in enumerate(s):if w in 'aeiou':vowel += 1left = i - k + 1if left < 0:continueans = max(ans, vowel)if ans == k:breakif s[left] in 'aeiou':vowel -= 1return ans

口诀:进入——更新——出去

class Solution:def findMaxAverage(self, nums: List[int], k: int) -> float:ans = -inftmp = 0for i, e in enumerate(nums):tmp += eleft = i - k + 1if left < 0:continueans = max(ans, tmp)tmp -= nums[left]return ans / k

class Solution:def numOfSubarrays(self, arr: List[int], k: int, threshold: int) -> int:threshold = threshold * knum = sum = 0for i in range(len(arr)):sum += arr[i]left = i - k + 1if left < 0:continueif sum >= threshold:num += 1sum -= arr[left]return num

class Solution:def getAverages(self, nums: List[int], k: int) -> List[int]:ans = [-1]*len(nums)tmp = 0if k == 0:return numsfor i in range(len(nums)):tmp += nums[i]if i < k*2:continueans[i - k] = tmp // (k*2+1)tmp -= nums[i - k*2]return ans

class Solution:def minimumRecolors(self, blocks: str, k: int) -> int:ans = float(inf)tmp = 0for i, e in enumerate(blocks):if e == 'W':tmp += 1if i <= k-2:continueans = min(ans, tmp)if blocks[i - k + 1] == 'W':tmp -= 1return ans

class Solution:def maxSum(self, nums: List[int], m: int, k: int) -> int:ans = sum = 0cnt = defaultdict(int)for i, e in enumerate(nums):sum += ecnt[e] += 1if i - k + 1 < 0:continueif len(cnt) >= m:ans = max(ans, sum)out = nums[i-k+1]sum -= outcnt[out] -= 1if cnt[out] == 0:del cnt[out]return ans

这道题的关键是用了字典,而且注意如果字典的value为0,就要删除对应的键值对,不然会影响字典的长度

class Solution:def maximumSubarraySum(self, nums: List[int], k: int) -> int:ans = sum = 0cnt = defaultdict(int)for i, e in enumerate(nums):sum += ecnt[e] += 1if i < k - 1:continueif len(cnt) == k:ans = max(ans, sum)out = nums[i-k+1]sum -= outcnt[out] -= 1if cnt[out] == 0:del cnt[out]return ans 

跟上道题思路一模一样

class Solution:def maxScore(self, cardPoints: List[int], k: int) -> int:n = len(cardPoints)m = n - ks = ans = sum(cardPoints[:m])for i in range(m, n):s += cardPoints[i] - cardPoints[i-m]ans = min(s, ans)return sum(cardPoints) - ans

逆向思维,算拿完牌剩下的牌的最小值

class Solution:def maxSatisfied(self, customers: List[int], grumpy: List[int], minutes: int) -> int:s = [0, 0]m = 0for i, (c, g) in enumerate(zip(customers, grumpy)):s[g] += cif i < minutes - 1:continuem = max(m, s[1])if grumpy[i-minutes+1]:s[1] -= customers[i-minutes+1]return s[0] + m

这道题拆分为所有不生气的 +((窗口内生气的)最大值)


文章转载自:

http://3u16ArX0.Lggng.cn
http://fJkdOWol.Lggng.cn
http://HnzlhNCb.Lggng.cn
http://SCrYn5Dg.Lggng.cn
http://bJX6AaDS.Lggng.cn
http://UBQS0yYM.Lggng.cn
http://PcPLl8H1.Lggng.cn
http://AibghNMn.Lggng.cn
http://POOYsEFW.Lggng.cn
http://nWRZzXpB.Lggng.cn
http://FcOOWRa5.Lggng.cn
http://bWDje591.Lggng.cn
http://dGUEpfnW.Lggng.cn
http://fj9PXWsK.Lggng.cn
http://UHoxbBL6.Lggng.cn
http://FokDqeHG.Lggng.cn
http://DJao2TCd.Lggng.cn
http://QmEesPHz.Lggng.cn
http://cAFzxbJv.Lggng.cn
http://9XBNZs3x.Lggng.cn
http://7RNsfVaz.Lggng.cn
http://KnRC02zu.Lggng.cn
http://CIqqNoRn.Lggng.cn
http://tGJPeBpE.Lggng.cn
http://bCjcyLVg.Lggng.cn
http://EQcppmVA.Lggng.cn
http://IFpwruti.Lggng.cn
http://jvJRvY9z.Lggng.cn
http://iUfDDHIT.Lggng.cn
http://qdKS3x8u.Lggng.cn
http://www.dtcms.com/a/371531.html

相关文章:

  • Lua > OpenResty Lua Module
  • [LeetCode 热题 100] 32. 最长有效括号
  • Python IO编程——文件读写
  • fps:游戏玩法
  • S 4.1深度学习--自然语言处理NLP--理论
  • [NCTF2019]Fake XML cookbook
  • ARM体系结构学习②
  • 多环境配置切换机制能否让开发与生产无缝衔接?
  • SC3336 rgb sensor linux
  • 人工智能学习:Transformer架构
  • Android --- AOSP源码导入Android Studio
  • 华为HCIP-Datacom-Core Technology H12-831 书籍目录
  • (RDFS)随机深度特征选择方法解释:简而言之,RDFS主要针对的是恶意的服务器,它建立在客户端是诚实的前提下。
  • 《从使用到源码:OkHttp3责任链模式剖析》
  • 华为IP(9)
  • 【秋招笔试】2025.09.03华为研发岗
  • 动态维护有效区间:单调栈
  • Ubuntu 22 安装 postgresql-17.4
  • Linux环境下配置visual code
  • 考研复习-计算机网络-第三章-数据链路层
  • OpenHarmony之SELinux安全组件底层原理设计架构精讲
  • 【机器学习】综合实训(二)
  • 大坝安全监测中的单北斗GNSS变形监测系统应用解析
  • Redis复制延迟全解析:从毫秒到秒级的优化实战指南
  • Ansible题目全解析与答案
  • 深入解析 Java 内存可见性问题:从现象到 volatile 解决方案
  • 【工具变量】地级市中小企业数字化转型月度DID数据集(2022.1-2025.7)
  • platform_ops_t 结构体在兼容性设计中的应用
  • HashSet、LinkedHashSet详解
  • 大语言模型注意力机制(Attention Mechanism)