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

网站布局结构有哪些免费网站优化排名

网站布局结构有哪些,免费网站优化排名,福田网站设计方案,中国商标注册网查询网官网1.题目基本信息 1.1.题目描述 你打算利用空闲时间来做兼职工作赚些零花钱。 这里有 n 份兼职工作,每份工作预计从 startTime[i] 开始到 endTime[i] 结束,报酬为 profit[i]。 给你一份兼职工作表,包含开始时间 startTime,结束时…

1.题目基本信息

1.1.题目描述

你打算利用空闲时间来做兼职工作赚些零花钱。

这里有 n 份兼职工作,每份工作预计从 startTime[i] 开始到 endTime[i] 结束,报酬为 profit[i]。

给你一份兼职工作表,包含开始时间 startTime,结束时间 endTime 和预计报酬 profit 三个数组,请你计算并返回可以获得的最大报酬。

注意,时间上出现重叠的 2 份工作不能同时进行。

如果你选择的工作在时间 X 结束,那么你可以立刻进行在时间 X 开始的下一份工作。

1.2.题目地址

https://leetcode.cn/problems/maximum-profit-in-job-scheduling/description/

2.解题方法

2.1.解题思路

动态规划+二分查找

2.2.解题步骤

第一步,状态定义;dp[i]为前i个兼职工作的最大报酬

第二步,状态转移;dp[i]=max(dp[i-1],dp[k]+profit[i-1]) (profit[i-1]为第i个工作的报酬;假设从0到i-2工作中,最后一个endTime小于等于i-1工作的startTime的工作下标为j,则k=j+1)。这里使用左闭右闭的未标记区间的方式进行二分

3.解题代码

Python代码

class Solution:def jobScheduling(self, startTime: List[int], endTime: List[int], profit: List[int]) -> int:length=len(startTime)jobs=sorted(zip(startTime,endTime,profit),key=lambda item:item[1])# 第一步,状态定义;dp[i]为前i个兼职工作的最大报酬dp=[0]*(length+1)# 第二步,状态转移;dp[i]=max(dp[i-1],dp[k]+profit[i-1]) (profit[i-1]为第i个工作的报酬;假设从0到i-2工作中,最后一个endTime小于等于i-1工作的startTime的工作下标为j,则k=j+1)。这里使用左闭右闭的未标记区间的方式进行二分for i in range(1,length+1):left,right=0,i-2    # 左闭右闭while left<=right:mid=(right-left)//2+leftif jobs[mid][1]<=jobs[i-1][0]:left=mid+1else:right=mid-1k=left  # right+1dp[i]=max(dp[i-1],dp[k]+jobs[i-1][2])return dp[-1]

C++代码

class Solution {
public:int jobScheduling(vector<int>& startTime, vector<int>& endTime, vector<int>& profit) {int length=startTime.size();vector<vector<int>> jobs(length);for(int i=0;i<length;++i){jobs[i]={startTime[i],endTime[i],profit[i]};}sort(jobs.begin(),jobs.end(),[](const vector<int> &job1,const vector<int> &job2)->bool{return job1[1]<job2[1];});vector<int> dp(length+1,0);for(int i=1;i<length+1;++i){int left=0,right=i-2;while(left<=right){int mid=(right-left)/2+left;if(jobs[mid][1]<=jobs[i-1][0]){left=mid+1;}else{right=mid-1;}}dp[i]=max(dp[i-1],dp[left]+jobs[i-1][2]);}return dp[length];}
};

4.执行结果

在这里插入图片描述

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

相关文章:

  • 网站建设分销协议有没有安全一点的网站
  • 濮阳房产网seo 专业
  • 无锡 做公司网站应用公园app在线制作平台官网
  • 养老院网站建设方案网络搭建的基本流程
  • 网站后台如何添加关键词公司简介模板怎么做
  • 哪些网站是用vue做的阿里云带宽5m能做什么网站
  • 天津 公司网站建设1免费建站网站
  • 怎么学建网站wordpress 固定链接 not found
  • 海口网站建设维护网站页脚版权信息
  • flash做企业网站宣传片最好用的网站建设软件
  • 如何查询网站主机信息千博企业网站管理系统
  • 网站空间期限查询计算机专业网站开发开题报告
  • 酒业公司网站模板网站可以自己建立吗
  • 网站建设有模板自己能制作seo快速排名网站优化
  • 网站营销与推广方案wordpress 插件汉化
  • 高安市帮助做公司网站教人怎么做网页的网站
  • 想调用等三方网站数据该怎么做佛山网站建设哪儿有
  • 超大型网站建设哪个网站的织梦源码好
  • 中介网站怎么做深圳展览展示公司排行
  • 网站顶部怎么做新浪链接湖州做网站推广的公司
  • 网站建设卖给别人可以吗大学生网站开发文档
  • 网站建设教程哪家公司好wordpress本地安装插件
  • 网站建设总体流程网站默认首页
  • 做效果图的网站wordpress分类不显示文章
  • 网站首页图片尺寸如何修改网站模板内容
  • 全国建设网站dw网页设计怎么插图片
  • 贵阳58同城做网站公司工厂弄个网站做外贸如何
  • ota平台网站建设台州的网站建设
  • 涿鹿网站建设往网站上传照片怎么做
  • 微信小程序 购物网站开发江苏建设工程造价管理网站