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

网站开发有哪几个阶段宿迁房产网官方网站

网站开发有哪几个阶段,宿迁房产网官方网站,湖南省建六公司官网,专业的网站开发服务LeetCode-1124. 表现良好的最长时间段【哈希表,前缀和,单调栈】题目描述:解题思路一:查字典。cur是当前的前缀和(劳累与不劳累天数之差),向前遍历。有两种情况。情况一,若cur大于0则是[0,i]的劳累与不劳累天…

LeetCode-1124. 表现良好的最长时间段【哈希表,前缀和,单调栈】

  • 题目描述:
  • 解题思路一:查字典。cur是当前的前缀和(劳累与不劳累天数之差),向前遍历。有两种情况。情况一,若cur大于0则是[0,i]的劳累与不劳累天数之差一定最大,记录下答案。情况二,若cur小于等于0,用哈希表记录cur(只记录对应最小的)。去哈希表里找到cur-1对应的下标j,那么[j,i]的前缀和为cur-(cur-1)=1>0,记录下答案。
  • 解题思路二:单调栈。将大于8的当做1,小于等于8的当做-1;(劳累与不劳累天数之差)即是s[i]-s[j]。要找大的s[i],小的s[j]
  • 解题思路三:0

题目描述:

给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。

我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。

所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累的天数」。

请你返回「表现良好时间段」的最大长度。

示例 1:

输入:hours = [9,9,6,0,6,6,9]
输出:3
解释:最长的表现良好时间段是 [9,9,6]。

示例 2:

输入:hours = [6,6,6]
输出:0

提示:

1 <= hours.length <= 104
0 <= hours[i] <= 16
https://leetcode.cn/problems/longest-well-performing-interval/description/

解题思路一:查字典。cur是当前的前缀和(劳累与不劳累天数之差),向前遍历。有两种情况。情况一,若cur大于0则是[0,i]的劳累与不劳累天数之差一定最大,记录下答案。情况二,若cur小于等于0,用哈希表记录cur(只记录对应最小的)。去哈希表里找到cur-1对应的下标j,那么[j,i]的前缀和为cur-(cur-1)=1>0,记录下答案。

class Solution {
public:int longestWPI(vector<int>& hours) {unordered_map<int,int> index;int cur=0,ans=0,n=hours.size();for(int i=0;i<n;++i){if(hours[i]>8) ++cur;else --cur;if(cur>0) ans=i+1;//cur是[0,i]的劳累与不劳累天数之差,一定最大。else{//cur小于等于0的情况if(index.count(cur-1)>0) ans=max(ans,i-index[cur-1]);//找到cur-1的下标j,则j到i的和是cur-(cur-1)=1>0,cur大于0就判断一下。if(!index.count(cur)) index[cur]=i;//只记录一次,即是前缀和对应下标最小的}}return ans;}
};

时间复杂度:O(n)
空间复杂度:O(n)

解题思路二:单调栈。将大于8的当做1,小于等于8的当做-1;(劳累与不劳累天数之差)即是s[i]-s[j]。要找大的s[i],小的s[j]

class Solution {
public:int longestWPI(vector<int> &hours) {int n=hours.size(),ans=0,s[n+1];//前缀和stack<int> st;st.push(s[0]=0);for(int j=1;j<=n;++j){s[j]=s[j-1]+(hours[j-1]>8?1:-1);//初始化前缀和if(s[j]<s[st.top()]) st.push(j);//感兴趣的j,必然是递减的}for (int i=n;i;--i)while(!st.empty()&&s[i]>s[st.top()]){ans=max(ans,i-st.top());//[栈顶,i)可能是最长子数组st.pop();}//i之前有可能前缀和更大return ans;}
};

时间复杂度:O(n)
空间复杂度:O(n)

解题思路三:0


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

相关文章:

  • 建立个公司网站管理咨询岗位做什么
  • 购买网站空间自己怎样建立网站广州好蜘蛛网站建设公司
  • 买了域名怎么做网站网站建设在电子商务中意义
  • 网站建设时间及简介seo在线培训课程
  • 济南哪家公司可以做网站asp影视网站源码
  • 购物网站开发django房地产最新消息2022
  • 上海微信网站公司个人网站备案 照片
  • 梵讯企业网站建设阳江房地产信息网官方网站
  • 家居网站建设效果免费网站建设ydwzjs
  • h5网站快速搭建广西桂林天气预报7天
  • 网站开发人员需要什么要求东莞有什么比较好的网站公司
  • 百度域名续费北京优化公司司
  • 跨境网站导航网
  • 匈牙利网站后缀做购物网站的目的
  • 微信移动网站建设wordpress唯美主题
  • 网站建设公司一年赚多少俄罗斯乌克兰伤亡人数
  • 德州鲁企动力网站优化中心江苏建设管理信息网站
  • 智慧建设网站做网站应该会什么软件
  • 微信小程序与微网站江苏品牌网站建设
  • 怎么设计网站商用高端网站设计新感觉建站
  • 做兼职网站赚钱吗网站开站备案
  • 如何用电脑记事本做网站营销网站手机站
  • 济宁市建设局网站平台推广的方法有哪些
  • 网站抓取诊断ip出错wordpress 去购买按钮
  • 网站做全景图举例说明什么是网络营销
  • 做网站要提供营业执照吗wordpress版本回退
  • 哈尔滨网站定制公司二次开发收费需要高点
  • 中国纪检监察报总编辑咸阳网站建设seo
  • 网站如何设置404页面开工作室需要什么条件
  • 合肥 电子商务 网站推广网站制作排行榜