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

最好的动态网站建站php搭建一个简单的网站

最好的动态网站建站,php搭建一个简单的网站,网站开发定制方案,免费seo排名软件题目: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/73950.html

相关文章:

  • 网站开发工具简介服务营销的七个要素
  • 网站建设最新技术网络营销模式有哪些?
  • 比较大的建站公司大数据营销推广精准粉
  • 英文网站建设用哪种字体怎样把自己的产品放到网上销售
  • 济南制作网站软件做电商需要学哪些基础
  • 做图网站地图青岛百度关键词优化
  • 网站搭建一般要南宁seo咨询
  • 北京建设工程网站nba最新新闻新浪
  • 做网站在什么地方发帖子呢外贸网站建设优化
  • 郑州商城网站制作淘宝怎么优化关键词排名
  • 公司网站开发seo编辑招聘
  • 制作表白网站成都官网seo厂家
  • 公司网站建设吧个好企业建站流程
  • 网站的域名证书什么是sem
  • 日本住宅建设商网站口碑营销是什么
  • 教做网站的学校seo门户网站优化
  • 网站建设精英廊坊seo网站管理
  • 微信网站开发怎么做找回原来的百度
  • 网站备案要收费吗大数据智能营销
  • 怎么在百度做公司网站跨境电商平台推广
  • 如何与别的网站做友情链接手机百度下载免费
  • 域名注册的网站app推广全国代理加盟
  • 如何建立网站视频教程东莞seo关键词
  • 济南高新区网站建设山东泰安网络推广
  • 太原做网站费用百度精准营销获客平台
  • 建设部网站 造价seo优化专员招聘
  • 快云助手网站建设视频教程网站seo优化总结
  • 荔湾区网站设计免费的seo优化工具
  • 滨州外贸网站建设深圳优化排名公司
  • 微商城网站制作营销技巧和话术