LeetCode-983.最低票价
程序员文章站
2022-07-03 15:20:36
...
题目:
代码:
class Solution {
public:
int mincostTickets(vector<int>& days, vector<int>& costs) {
int cost[366];
for(int i=0;i<366;i++) cost[i]=INT_MAX;
for(int i=0;i<days.size();i++) cost[days[i]]=1;
cost[365]=cost[365]==1?costs[0]:0;
for(int i=364;i>0;i--){
if(cost[i]==INT_MAX) cost[i]=cost[i+1];
else{
if(i+1<=365) cost[i]=cost[i+1]+costs[0];
if(i+7<=365) cost[i]=min(cost[i],cost[i+7]+costs[1]);
if(i+30<=365) cost[i]=min(cost[i],cost[i+30]+costs[2]);
}
}
return cost[1];
}
};
榜首:
class Solution {
public:
int mincostTickets(vector<int>& days, vector<int>& costs) {
vector<int> cost(366,0);
vector<int> d(366,0);
int j=0;
for(auto dd:days)
d[dd]++;
for(int i=1;i<366;++i){
cost[i] = cost[i-1];
if(d[i]==1){
j++;
cost[i] += costs[0];
}
}
for(int i=1;i<366;++i){
if(d[i]==1){
cost[i] = min(cost[i],cost[i-1]+costs[0]);
if(i<7)
cost[i] = min(cost[i],costs[1]);
else
cost[i] = min(cost[i],cost[i-7]+costs[1]);
}
else{
cost[i] = min(cost[i],cost[i-1]);
}
}
for(int i=1;i<366;++i){
if(d[i]==1){
cost[i] = min(cost[i],cost[i-1]+costs[0]);
if(i<7)
cost[i] = min(cost[i],costs[1]);
else
cost[i] = min(cost[i],cost[i-7]+costs[1]);
if(i<30)
cost[i] = min(cost[i],costs[2]);
else
cost[i] = min(cost[i],cost[i-30]+costs[2]);
}
else{
cost[i] = min(cost[i],cost[i-1]);
}
}
return cost[365];
}
};
上一篇: 在百度云服务器上搭建集群时的安全设置
下一篇: ubuntu服务器下载百度云盘内容
推荐阅读
-
天津本科分数线最低的大学-2020天津本科录取分数线排名
-
山东二本大学有哪些学校?附最低录取分数线及位次排名(2021年参考)
-
2021吉林二本最低多少分录取-附2020吉林二本分数线(含文理)
-
双一流高校排名2021年最新完整版-附双一流高校在广东投档线及最低位次排行榜
-
微信公众号内测文章“打赏”功能 小费最低2元
-
全国二本大学在四川投档线最低分数及位次排名一览表(2021年参考)
-
湖南本科大学排名及分数线理科和文科最低位次排行一览表(2021年高考参考)
-
中国非985的211大学排名-2020收分最低的211大学有哪些?(2021参考)
-
山东省有几所211大学?附211大学在山东的最低录取分数线(2021年参考)
-
华为京东全场促销:直降1400 手机最低499起