華為OD機(jī)試-去除多余空格
題目描述:
去除文本多余空格,但不去除配對(duì)單引號(hào)之間的多余空格。給出關(guān)鍵詞的起始和結(jié)束下標(biāo),去除多余空格后刷新關(guān)鍵詞的起始和結(jié)束下標(biāo)。
輸入描述:
輸入為兩行字符串:
第一行: 待去除多余空格的文本,用例保證如果有單引號(hào),則單引號(hào)成對(duì)出現(xiàn),且單引號(hào)可能有多對(duì).第二行: 關(guān)鍵詞的開始和結(jié)束坐標(biāo),關(guān)鍵詞間以逗號(hào)區(qū)分,關(guān)鍵詞內(nèi)的開始和結(jié)束位置以單空格區(qū)分
例如:
Life is painting a picture, not doing 'a sum'
8 15,20 26,43 45
關(guān)鍵單詞為: painting picture sum
輸出描述:
輸出為兩行字符串:
第一行: 去除多余空格后的文本
第二行: 去除多余空格后的關(guān)鍵詞的坐標(biāo)開始和結(jié)束位置,為數(shù)組方式輸出
例如:
Life is painting a? picture, not doing 'a sum'
[8,15][19, 25][42, 44]
條件約束:
1,不考慮關(guān)鍵詞起始和結(jié)束位置為空格的場(chǎng)景
2,單詞的的開始和結(jié)束下標(biāo)保證涵蓋一個(gè)完整的單詞,即一個(gè)坐標(biāo)對(duì)開始和結(jié)束下標(biāo)之間不會(huì)有多余的空格:
3,如果有單引號(hào),則用例保證單引號(hào)成對(duì)出現(xiàn):
4,關(guān)鍵詞可能會(huì)重復(fù):
5,文本字符長(zhǎng)度length取值范圍: [0,100000]:
示例1
輸入
Life is painting a? picture, not doing 'a sum'? (a和picture之間有兩個(gè)空格)
8 15,20 26,43 45
輸出:
Life is painting a picture, not doing 'a sum'
[8,15][19,25][42, 44]
說(shuō)明:
a和picture中間多余的空格進(jìn)行刪除
示例2
輸入:
Life is painting a picture, not doing 'a sum'
8 15,19 25,42 44
輸出
Life is painting a picture, not doing 'a sum'
[8,15]19, 25][42, 44]
說(shuō)明:
a和sum之間有多余的空格,但是因?yàn)橛谐蓪?duì)單引號(hào),不去除多余空格
————————————————
版權(quán)聲明:本文為CSDN博主「MISAYAONE」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://renjie.blog.csdn.net/article/details/128402292
Java 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/128402292
Python實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/128417648
C++ 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/128417666
JavaScript實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/129104218
C語(yǔ)言版本持續(xù)更新中