第五章 字串專題 ---------------- 5.9 題解:去掉字串中連線出現的k次的0
題目:
移除字串中連續出現的K個0。
用count記錄連續出現的0的個數N,一旦下一個不是0, 輸出N%K個0。
一、C++程式碼:
#include <iostream>
#include<cstring>
using namespace std;
string remove(string src,int k)
{
int len=src.length();
char arr[len];
strcpy(arr,src.data());
int count=0;
string ans;
for(int i=0;i<len;i++)
{
char c=arr[i];
if(c=='0')
{
count++;
}
else
{
for(int j=0;j<count%k;j++)
{
ans+="0";
}
ans+=c;
count=0;
}
}
for(int j=0;j<count%k;j++)
{
ans+="0";
}
return ans;
}
int main()
{
string s="10000200";
int k=3;
cout<<remove(s,k);
return 0;
}
二、結果:
三、JAVA程式碼:
/**
* 移除字串中連續出現的k個0
* @author xiaow
*
* 可以用掃描字元陣列的解法,但是用正規表示式更為快捷
*
*/
public class RemoveKZeros {
static String remove_1(String src,int k){
String regex = "0{"+k+"}";
return src.replaceAll(regex, "");
}
static String remove_2(String src,int k){
char[]arr = src.toCharArray();
int count = 0;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
char c = arr[i];
if (c == '0') {
count++;
}else {
for (int j = 0; j < count%k; j++) {
sb.append('0');
}
sb.append(c);
count = 0;
}
}
for (int j = 0; j < count%k; j++) {
sb.append('0');
}
return sb.toString();
}
public static void main(String[] args) {
System.out.println(remove_1("10000200", 3));
System.out.println(remove_2("10000200", 4));
/*
* 輸出:10200
* 1200
*/
}
}
相關文章
- 第五章 字串專題 ---------------- 5.5 題解:壓縮字串字串
- 第五章 字串專題 ---------------- 5.2 題解:巧妙翻轉字串字串
- 第五章 字串專題 ---------------- 5.8 題解:將字串中按單詞翻轉字串
- 第五章 字串專題 ---------------- 5.11 題解:最短摘要的生成字串
- 第五章 字串專題 ---------------- 5.4 實踐:替換字串中的空格字串
- 第五章 字串專題 ---------------- 5.10 題解:神奇的迴文串字串
- 第五章 字串專題 ---------------- 5.6 解題:判斷兩字串的字符集是否相同字串
- 第五章 字串專題 ---------------- 5.7 題解:旋轉詞字串
- 第五章 字串專題 ---------------- 5.1 題解:判斷字串有無重複字元字串字元
- 第五章 字串專題 ---------------- 5.12 字串匹配之PabinKarp字串匹配
- 第五章 字串專題 ---------------- 字串匹配(二)----KMP演算法字串匹配KMP演算法
- 字串專題字串
- 專題:字串字串
- 第五章 字串專題 ---------------- 字串匹配(三)----字尾陣列演算法字串匹配陣列演算法
- python如何去掉字串中的空格Python字串
- 統計字串出現的次數(C)字串
- 【專題訓練】字串字串
- 第五章 字串專題 ---------------- 5.3 走出思維誤區:變形詞問題字串
- 獲得String字串中某個字元出現的次數字串字元
- 提高組字串專題1字串
- 資料庫中字串連線符的使用資料庫字串
- Java小程式--統計指定字串中字元 ‘a’ 出現的次數Java字串字元
- C#連線SQLite的字串C#SQLite字串
- mongodb連線字串MongoDB字串
- 去掉時間字串的時分秒字串
- [JLOI2015] 有意義的字串 題解字串
- 求出現在字串1而沒有出現在字串2中的字元字串字元
- JS去掉字串空格JS字串
- P3735 字串 題解字串
- 更換文字中第二次出現的字串內容字串
- 微軟面試題: LeetCode 151. 翻轉字串裡的單詞 出現次數:6微軟面試題LeetCode字串
- js中將小/大駝峰格式的字串轉為下劃線相連的字串JS字串
- SCSS 字串連線符CSS字串
- [題解]P1641 生成字串字串
- Python如何去掉字串空格?Python字串
- 利用HashMap統計字串各個字元出現的次數HashMap字串字元
- 字串轉數字的問題字串
- 【字串】 優雅的暴力——字串下的雜湊判重問題字串