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

最好的动态网站建站牛奶推广软文文章

最好的动态网站建站,牛奶推广软文文章,wordpress 工具箱,网站介绍怎么写题目:3440. 重新安排会议得到最多空余时间 II 思路:(LeetCode 每日一题 ) 3439. 重新安排会议得到最多空余时间 I (滑动窗口)的进阶版。 在得到空闲数组v之后,本质就是枚举移动每一个活动,观察是否有除了其左右两边空闲位置外&am…

题目:3440. 重新安排会议得到最多空余时间 II

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
思路:(LeetCode 每日一题 ) 3439. 重新安排会议得到最多空余时间 I (滑动窗口)的进阶版。

在得到空闲数组v之后,本质就是枚举移动每一个活动,观察是否有除了其左右两边空闲位置外,还有没有不小于这个活动长度的空闲位置。细节看注释

C++版本:

class Solution {
public:int maxFreeTime(int eventTime, vector<int>& startTime, vector<int>& endTime) {// 空闲位置数组,空闲为0也要记录vector<int> v;int last=0;for(int i=0;i<startTime.size();i++){v.push_back(startTime[i]-last);last=endTime[i];}if(last<=eventTime){v.push_back(eventTime-last);}// q[i]表示:在i的右边最大的空闲位置int n=v.size();vector<int> q(n);q[n-1]=0;for(int i=n-2;i>=0;i--){q[i]=max(q[i+1],v[i+1]);}//已遍历过的空闲位置的最大值int mx=0;// 答案int ans=0;// 遍历,来枚举每一个活动被移动for(int i=1;i<n;i++){// 第一个活动和0之间有一个空闲位置,所以活动的下标是i-1// 第i-1活动左右两边空闲位置int t=v[i-1]+v[i];// 第i-1活动的长度int len=endTime[i-1]-startTime[i-1];// 有不小于这个活动长度的空闲位置if(len<=mx || len<=q[i]){// 可加上当前活动的长度lenans=max(ans,len+t);}else{// 只能将当前活动移动到左右两侧ans=max(ans,t);}// 维护已遍历过的空闲位置的最大值mx=max(mx,v[i-1]);}return ans;}
};

JAVA版本:

class Solution {public int maxFreeTime(int eventTime, int[] startTime, int[] endTime) {List<Integer> v=new ArrayList<>();int last=0;for(int i=0;i<startTime.length;i++){v.add(startTime[i]-last);last=endTime[i];}if(last<=eventTime){v.add(eventTime-last);}int n=v.size();int[] q=new int[n];q[n-1]=0;for(int i=n-2;i>=0;i--){q[i]=Math.max(q[i+1],v.get(i+1));}int mx=0;int ans=0;for(int i=1;i<n;i++){int t=v.get(i-1)+v.get(i);int len=endTime[i-1]-startTime[i-1];if(len<=mx || len<=q[i]){ans=Math.max(ans,len+t);}else{ans=Math.max(ans,t);}mx=Math.max(mx,v.get(i-1));}return ans;}
}

GO版本:

func maxFreeTime(eventTime int, startTime []int, endTime []int) int {v:=[]int{}n:=len(startTime)last:=0for i:=0;i<n;i++ {v=append(v,startTime[i]-last)last=endTime[i]}if last<=eventTime {v=append(v,eventTime-last)}n=len(v)q:=make([]int,n)q[n-1]=0for i:=n-2;i>=0;i-- {q[i]=max(q[i+1],v[i+1])}mx:=0ans:=0for i:=1;i<n;i++ {len:=endTime[i-1]-startTime[i-1]t:=v[i]+v[i-1]if len<=mx || len<=q[i] {ans=max(ans,t+len)}else{ans=max(ans,t)}mx=max(mx,v[i-1])}return ans
}
http://www.dtcms.com/wzjs/310683.html

相关文章:

  • 仪器网站模板百度关键词排名
  • 虚拟机做实验的网站推56论坛
  • 别墅装修装饰设计百度seo怎么优化
  • 装修公司前十强seo技术服务外包公司
  • 查建筑公司网站一点优化
  • 上海国家企业信用网泉州百度seo公司
  • 做游戏人设计网站网上商城建设
  • 八里庄街道网站建设网络优化工程师招聘信息
  • 网站建设心得总结推广联盟平台
  • 提高审美的网站推荐打开app下载
  • 传奇免费网站模板下载泉州网站seo外包公司
  • 山东网站建设标准新闻摘抄四年级下册
  • 刚察网站建设公司建站系统哪个比较好
  • 建设网站有哪些好处和坏处网站推广方案策划书2000
  • 做网站用的符号百度舆情监测平台
  • 有保障的广州网站建设高端快速建站
  • 西樵网站设计广州企业推广
  • 中国建设网官方网站地址全网营销推广方式
  • 公司网站banner怎么做策划
  • 免费营销网站制作模板推广普通话宣传周
  • 政府新闻网站建设方案百度seo优化分析
  • 站长工具5118seo排名优化软件
  • 高端型网站建设seo外包公司多吗
  • wordpress设置发邮件手机优化什么意思
  • 上海最好的网站设计公司长沙seo网站优化
  • 手机建网站 教程外链兔
  • 四川住房和城乡建设厅网站题库怎么快速优化网站
  • 南昌网站建设有哪几家商品seo关键词优化
  • 中山小榄网站建设新型网络搜索引擎
  • 彩虹云商城百度seo排名优化费用