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

【不定长滑动窗口】【灵神题单】【刷题笔记】

采摘水果

  • fruits[i]表示第i棵树上的水果种类
  • 目的是尽可能多收集水果
  • 规矩:
    • 只有两个篮子,且每个篮子只能装一种水果,但是每个篮子能装的总量没限制
    • 一旦开始采摘,就会连续采摘,把两个篮子都用掉
    • 也就是说,采摘到最后一颗,或者遇到第三种水果,没有篮子装了就停止!
class Solution:def totalFruit(self, fruits: List[int]) -> int:n = len(fruits)left = 0res = 0cnt = {}for right in range(n):# 进入窗口,记录到字典中,出现了什么水果,以及采摘了几次if fruits[right] in cnt:cnt[fruits[right]] += 1else:cnt[fruits[right]] = 1# while len(cnt) > 2:cnt[fruits[left]] -= 1if cnt[fruits[left]] == 0:del cnt[fruits[left]]left += 1res = max(res, right - left + 1)return res

http://www.mrgr.cn/news/78305.html

相关文章:

  • IOC控制反转DI依赖注入(Java EE 学习笔记06)
  • Flink转换算子——flatMap/map/filter/keyby/reduce综合案例
  • C#(14)七大原则
  • 使用 Nginx 在 Ubuntu 22.04 上安装 LibreNMS 开源网络监控系统
  • UE5 Spawn Actor from Class 节点
  • 英雄联盟游戏使用生存分析预测玩家流失
  • 【拥抱AI】RAG如何通过分析反馈、识别问题来提高命中率
  • 探索.NET世界的无限可能——带你轻松了解.NET
  • Scala—Map用法详解
  • 图元交互设计
  • 【去毛刺】OpenCV图像处理基础:腐蚀与膨胀操作入门
  • 365天深度学习训练营-第P6周:VGG-16算法-Pytorch实现人脸识别
  • digit_eye开发记录(2): Python读取MNIST数据集
  • 大语言模型LLM的微调中 QA 转换的小工具 txt2excel.py
  • Java AQS(AbstractQueuedSynchronizer):深入剖析
  • v-for产生 You may have an infinite update loop in a component render function
  • 直言抖音电商环境恶化,叶国富也想指点张一鸣
  • 【拥抱AI】RAG如何提高向量化的质量
  • 关于node全栈项目打包发布linux项目问题总集
  • SQL基础入门—— 简单查询与条件筛选
  • ubuntu 安装docker
  • Linux下的火墙管理及优化
  • C语言蓝桥杯组题目
  • WonderJourney 学习笔记
  • Qt获取文件夹下的文件个数(过滤和不过滤的区别)
  • 第 4 章 Java 并发包中原子操作类原理剖析