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

力扣1124.表现良好的最长时间段

力扣1124.表现良好的最长时间段

  • 哈希表存最小的下标

    • 当s[i] > 0 那么他到头可以构成一个合法时间段
    • 否则 找到之前的 s[i] - 1 的下标:
      • 因为连续的前缀和一定只相差1
      • 若想算更小的s[i] - 2,s[i] - 3…
      • 一定会先算到s[i] - 1
      • 那么这些更小数必然在 s[i]−1 首次出现的位置的右边
  •   class Solution {public:int longestWPI(vector<int>& hours) {int n = hours.size();vector<int> s(n+1);for(int i=0;i<n;i++){s[i+1] = s[i];s[i+1] += hours[i] > 8 ? 1 : -1;cout<<s[i+1]<<endl;}unordered_map<int,int> cnt;int res=0;for(int i=0;i<=n;i++){if(s[i] > 0) res = max(res,i);if(cnt.find(s[i] - 1) != cnt.end())res = max(res,i - cnt[s[i] - 1]);if(cnt.find(s[i]) == cnt.end())cnt[s[i]] = i;}return res;}};
    
http://www.lryc.cn/news/390697.html

相关文章:

  • 算法训练营day67
  • 人工智能--图像语义分割
  • fl studio20和21用哪一个好?FL-Chan from FL Studio欣赏
  • OpenCV直方图计算函数calcHist的使用
  • 09 docker 安装tomcat 详解
  • 44.实现管理HOOK点的链表对象
  • Unity小知识
  • 【Jupyter Notebook与Git完美融合】在Notebook中驾驭版本控制的艺术
  • Python开发者必看:内存优化的实战技巧
  • Golang | Leetcode Golang题解之第214题最短回文串
  • 【ajax实战08】分页功能
  • 基于Hadoop平台的电信客服数据的处理与分析②项目分析与设计---需求分析-项目场景引入
  • debug-mmlab
  • 年轻人为什么那么爱喝奶茶?
  • 手写数组去重
  • Firewalld 防火墙
  • Hive查询优化 - 面试工作不走弯路
  • 【VUE3】uniapp + vite中 uni.scss 使用 /deep/ 不生效(踩坑记录三)
  • 容器部署rabbitmq集群迁移
  • DP:背包问题----0/1背包问题
  • React antd umi 监听当前页面离开,在菜单栏提示操作
  • 在 Windows PowerShell 中模拟 Unix/Linux 的 touch 命令
  • 鸿蒙NEXT
  • VUE3-Elementplus-form表单-笔记
  • Analyze an ORA-12801分析并行 parallel 12801 实际原因
  • 高级运维工程师讲述银河麒麟V10SP1服务器加固收回权限/tmp命令引起生产mysql数据库事故实战
  • 昇思25天学习打卡营第09天|sea_fish
  • flutter开发实战-Charles抓包设置,dio网络代理
  • Elasticsearch:Runtime fields - 运行时字段(二)
  • Python正则表达式的入门用法(上)