Print sorted array

1。给个sorted array, 只包含不重复整数,数值范围在 [0,99]中间, 按格式打
印其余数值:

输入: [0,1,3,50,75]
输出: [2,4-49,51-74,76-99]

请写出程序,及 testing cases。

 

vector<string> Print(int a[], int n)
{
     if (n == 0)
     {
         string s = "0-99";
         return vector<string>(1, s);
     }
     int pre = 0;
     vector<string> ret;
     for (int i = 0; i <= n; i++)
     {
         int cur;
         if (i == n)
             cur = 100;
         else
             cur = a[i];
         if (cur > pre)
         {
             if (cur - pre > 2)
                 ret.push_back(to_string(pre) + "-" + to_string(cur - 1));
             else
                 ret.push_back(to_string(pre));
         }
         pre = cur + 1;
     }
     return ret;
}

  

posted on 2014-11-23 15:47  fatemaster  阅读(251)  评论(0)    收藏  举报

导航