【练习记录】2022年春夏笔试-C++后端
2022/4/23 20:13:00
本文主要是介绍【练习记录】2022年春夏笔试-C++后端,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
字符串冒泡排序
有一个字符串,组成只有CJ两个字母,每次只能交换相邻两个的次序,最少多少次可以让CJ交替出现?
输入:
整数n(1≤n≤10^6)
输出:最少排序次数,如果不能排序输出-1
样例输入:
4
CCJJ
样例输出:
1
分析:
一道冒泡排序的典型问题。注意①上下限,②下标一起变(当然用哈希表应该是更合理的)
#include <iostream> #include <string> using namespace std; int main(){ long long n; cin>>n; string str; cin>>str; /* cout<<str<<endl;*/ int S = 0; for(int i = 1; i < str.length();i++){ if (str[i-1]==str[i]){ for(int j = i+1; j< str.length(); j++){ if (str[j] != str[i]){ swap(str[j],str[i]); S++; } } } } int kk = 1; for(int i = 1; i < str.length();i++){ if(str[i] == str[i-1]) kk = 0; } if(kk==0)cout<<-1<<endl; else cout<<S<<endl; return 0; }
这篇关于【练习记录】2022年春夏笔试-C++后端的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享