【牛客网】马三来刷题之回文解码(今日头条2017年客户端实习在线笔试题)
今天換換口味,不刷LeetCode了,來(lái)看看牛客網(wǎng)的各大公司筆試題吧,今天切的這道是今日頭條2017年客戶端實(shí)習(xí)筆試題之一:
題目鏈接:http://www.nowcoder.com/questionTerminal/17517002460f453eb97a73439fc10ec8
[編程題]回文解碼現(xiàn)在有一個(gè)字符串,你要對(duì)這個(gè)字符串進(jìn)行 n 次操作,每次操作給出兩個(gè)數(shù)字:(p, l) 表示當(dāng)前字符串中從下標(biāo)為 p 的字符開(kāi)始的長(zhǎng)度為 l 的一個(gè)子串。你要將這個(gè)子串左右翻轉(zhuǎn)后插在這個(gè)子串原來(lái)位置的正后方,求最后得到的字符串是什么。字符串的下標(biāo)是從 0 開(kāi)始的,你可以從樣例中得到更多信息。
輸入描述:
每組測(cè)試用例僅包含一組數(shù)據(jù),每組數(shù)據(jù)第一行為原字符串,長(zhǎng)度不超過(guò) 10 ,僅包含大小寫字符與數(shù)字。接下來(lái)會(huì)有一個(gè)數(shù)字 n 表示有 n 個(gè)操作,再接下來(lái)有 n 行,每行兩個(gè)整數(shù),表示每次操作的(p , l)。
保證輸入的操作一定合法,最后得到的字符串長(zhǎng)度不超過(guò) 1000。
輸出描述:
輸出一個(gè)字符串代表最后得到的字符串。
輸入例子:
ab 2 0 2 1 3輸出例子:
abbaabb 很簡(jiǎn)單的水題,用string自帶的substr()函數(shù)即可解決。上代碼:#include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std;int main() {string str="";int n,p,l;while(cin>>str){cin>>n;while(n--){cin>>p>>l;string subStr=str.substr(p,l);reverse(subStr.begin(),subStr.end());str.insert(p+l,subStr);}cout<<str<<endl;}return 0; }
每天一道題,保持新鮮感,就這樣~
總結(jié)
以上是生活随笔為你收集整理的【牛客网】马三来刷题之回文解码(今日头条2017年客户端实习在线笔试题)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: angular8.x + ngx-tra
- 下一篇: 从企业实务角度解读 ITIL4 之14个