c++ - 我怎样才能得到所有大小为k的字符串子字符串?
问题描述
我不知道我的代码中的错误在哪里?有人可以帮我解决它。
我的代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
void solution() {
string s;
ll k;
cin >> s >> k;
for(int i=0; i<=s.length()-k; i++) {
for(int r=k-1; r<s.length(); r++){
cout << s.substr(i,r) << endl;
}
}
}
int main() {
ll t;
cin >> t;
while(t--){
solution();
}
return 0;
}
输入 :
1
ABCD 3
预期输出:
ABC
BCD
实际输出:
AB
ABC
BC
BCD
解决方案
我不知道为什么你需要一个嵌套的 for 循环。为什么这不仅仅是简单的:
void solution() {
string s;
ll k;
cin >> s >> k;
for(int i = 0; i <= s.length() - k; i++) {
cout << s.substr(i, k) << endl;
}
}
推荐阅读
- c# - 如何使用 Azure.Storage.Blobs 程序集对 Azure Blob 存储操作设置重试策略?
- javascript - 如何使用 backstretch 将 alt 标签添加到图像幻灯片?
- php - 为什么我在 PHP 中收到“试图获取非对象的属性”错误?
- basic - 如何在 FreeBASIC 中搜索字符串中的单词
- java - 在这种情况下我应该如何使用流
- mysql - 强制删除数据库[没有 ifs ands or buts]
- xamarin - 赛马林。苹果手表应用程序。有模拟器吗?
- html - 将文本定位在 Div 的左右端
- meteor - 无法使用 mup 在 Digital Ocean 上部署流星 1.9
- jenkins - Jenkins 声明性管道:参数指令中的 if-else 语句