排序
来源:互联网 发布:杭州网站建设优化 编辑:程序博客网 时间:2024/05/19 23:27
题目
给定一个01串(仅由‘ 0’或‘1’组成的字符串),现在想把这个数字串排序成“非递减”有序序列,请问至少需要多少次交换(任意两个位置交换)?
输入描述:
输入数据第一行是一个正整数T(T<=100),表示有T组测试数据;
接下来的T行,每行给出01串。
数据保证——
50%的字符串长度在[1,100 ]
95%的字符串长度在[1,10000]
100%的字符串长度在[1,1000000]
输出描述:
对于每组测试数据,请输出排成“非递减有序序列”的最小交换次数。
每组输出占一行。
输入例子:
3
01
10
110
输出例子:
0
1
1
#include <iostream>#include <string>using namespace std;int main(){ int t; cin>>t; while(t--){ string input; cin>>input; int i = 0; int j = input.size()-1; int result = 0; while(i<=j){ if(input[i]=='0') ++i; else if(input[j]=='1') --j; else{ ++result; ++i; --j; } } cout<<result<<endl; } return 0;}
阅读全文
0 0
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- Java注释学习
- qt开发环境
- react native识别设备,获取设备屏幕尺寸
- Metasploit 原理 使用
- SQL Sercver的基本操作
- 排序
- Chess(百度之星初赛B)
- 函数指针
- 《剑指offer》牛客网java题解-跳台阶
- 使用JDK自带的工具来检测是否有死锁的现象
- 《机器学习》阅读心得——七、贝叶斯分类器
- RocketMQ web界面监控rocketmq-console部署问题
- C:\Windows\System32>net start mysql MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。 请键入 NET HELPMSG 3534
- 配置samba服务--centos7.x