c++ - 如何在(从 n 长度打印每个第 r 个字符)字符串中使用 nPr?
问题描述
假设我们有一个字符串s="aeiou"
。我想打印字符串中的每个唯一 rth 字符。我的意思是预期输出(当 r=2 时)- ae ai ao au ei eo eu io iu ou。我解决这个问题的方法是 -
string str="aeiou";
set<string>st;
for(int i=0;i<str.size();++i)
{
for(int j=0;j<str.size();++j)
{
if(i!=j)
{
string p="";
p+=str[i];
p+=str[j];
sort(p.begin(),p.end());
st.insert(p);
}
}
}
for(auto it=st.begin();it!=st.end();++it)
{
cout<<(*it)<<" ";
}
这里的复杂度是O(n2)。我可以在O(n)或任何更好的方法中做到这一点吗?
解决方案
推荐阅读
- arrays - 如何查找数组中的元素个数?
- python - 使用 Python PIL/pillow 调整图像大小的问题
- c# - 第二次创建实例时从容器中获取的同一个瞬态实例
- reactjs - 使用 socket.io 时,如何优化用户之间的同步文本输入?
- javascript - 尝试创建我的第一个 React 项目并遇到“找不到二进制脚本”错误
- neo4j - Neo4j 中标签的约束
- maven - github操作中的Maven部署不断失败,但在本地运行良好
- node.js - 无法使用模块 log4js 在日志文件中写入字符串
- mysql - 带有确切短语的 MySQL 全文查询不起作用
- c++ - 如果您的头文件与源文件位于同一目录中,如何在 Code::blocks 的源代码中包含用户定义的头文件?