去哪网2015春招C++考试题1-酒店价格合并

来源:互联网 发布:单片机的原理与应用pdf 编辑:程序博客网 时间:2024/04/30 01:08

#include <iostream>#include <vector>using namespace std;class DateRangePrice{public:int begin;int end;int price;DateRangePrice(int b,int e,int p);};DateRangePrice::DateRangePrice(int b, int e,int p){begin=b;end=e;price=p;}void merge(const vector<DateRangePrice>& date_range_prices, vector<DateRangePrice>& output){int leng=date_range_prices.size();int a[1001];memset(a,-1,1001*4);// 切记 此处-1 的赋值for(int i=0;i<leng;i++)for(int j=date_range_prices[i].begin;j<=date_range_prices[i].end;j++)a[j]=date_range_prices[i].price;// 此处i错写成j 导致此题没有正确提交int p1=0,p2=0,p3=0;int j=0;while(j<1001){while(a[j]==-1){j++;if(j==1001)return;}p1=j;p3=a[j];while(a[j]==p3)j++;p2=j-1;if(p3!=1){DateRangePrice aa(p1,p2,p3);output.push_back(aa);}}}int main(){vector<DateRangePrice> ourprice;vector<DateRangePrice> ourprice2;DateRangePrice aa(1,20,200);DateRangePrice bb(10,40,300);ourprice.push_back(aa);ourprice.push_back(bb);merge(ourprice,ourprice2);for(int i=0;i<2;i++)cout<<ourprice2[i].begin<<" "<<ourprice2[i].end<<" "<<ourprice2[i].price<<endl;return 0;}



0 0