编程题目

这是一个编程挑战,要求从给定的C++代码中找到数组里最长的由k个连续字符串组成的字符串。挑战链接:https://www.codewars.com/kata/consecutive-strings/train/cpp。任务是返回这样的第一个字符串。

编程题目:
原题:https://www.codewars.com/kata/consecutive-strings/train/cpp
题目描述:You are given an array strarr of strings and an integer k. Your task is to return the first longest string consisting of k consecutive strings taken in the array.
参考代码:

string longestConsec(vector<string> &strarr, int k)
{
     //不满足条件的处理
     if(strarr.size() == 0 || k>strarr.size() || k<0){       
               return "";
      }
      //用continue_str来存储数k个连续子串;
      vector<string> continue_str;
      for(size_t i=0;i<=strarr.size()-k;i++){
        ostringstream oss;
    copy(strarr.begin()+i,strarr.begin()+k+i,ostream_iterator<string>(oss,""));   //字符串的连接
        string temp=oss.str();
        continue_str.push_back(temp);
      }
      //遍历continue_str找出第一个最大的string;
        string max_str;
        for(size_t i=0;i<continue_str.size();i++)
        {
            if(continue_str[i].size()>max_str.size()){
                max_str=continue_str[i];
            }
        }
        return max_str;

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值