只含0、1的串进行排序,可任意交换位置,最小交换次数
来源:互联网 发布:淘宝客服数据在哪看 编辑:程序博客网 时间:2024/05/22 00:15
题目描述:
把一个0 1 串(只包含0 1的串)进行排序,你可以交换任意两个位置,问最小交换的次数?
解题思路
思路: 两个标杆 i代表从左往右 j代表 从右往左 ,i碰到0 和 j碰到1进行交换, 由于是0 – length 所以是线性的。
具体实现
package string;/*** * 题目: 把一个0 1 串(只包含0 1的串)进行排序,你可以交换任意两个位置,问最小交换的次数? * @author topwqp * 思路: 两个标杆 i代表从左往右 j代表 从右往左 ,i碰到0 和 j碰到1进行交换, 由于是0 -- length 所以是线性的。 */public class ZeroOneChangeCount { public static void main(String args[]){ String input = "000010010010001000111001"; char[] array = input.toCharArray(); int count = 0; for(int i = 0,j=array.length-1;i<j; ++i,--j){ for(;i<j && array[i] =='0';) ++i; for(;i<j && array[j] =='1';) --j; if(i<j) count++; } System.out.println("最小交换次数为: "+count); }}
0 0
- 只含0、1的串进行排序,可任意交换位置,最小交换次数
- 数组排序--计算最小交换次数
- 交换次数最少的排序
- 冒泡排序的交换次数
- 冒泡排序的交换次数
- 只同0交换的排序
- 给定一个01串(仅由‘ 0’或‘1’组成的字符串),现在想把这个数字串排序成“非递减”有序序列,请问至少需要多少次交换(任意两个位置交换)
- 冒泡排序中数据交换的次数
- 冒泡排序中数据交换的次数
- 冒泡排序中数据交换的次数
- 冒泡排序中数据交换的次数
- 树状数组------冒泡排序的交换次数
- 冒泡排序中数据交换的次数
- 冒泡排序中数据交换的次数
- 冒泡排序中数据交换的次数
- 冒泡排序中数据交换的次数
- 冒泡排序中数据交换的次数
- 2015笔试上机题-- 求01串的最小交换次数
- 单链表的基本操作-数据结构
- 小马哥----高仿小米note主板H79 型号 刷机拆机主板图与开机界面图 新版机型 警惕
- webdriver cookie 处理 selenium_python
- webservice的简单理解
- leetcode笔记:Single Number
- 只含0、1的串进行排序,可任意交换位置,最小交换次数
- C++ STL set::find是如何判断两个元素相等的
- vim常用配置
- CSS知识点总结2
- 大二任务
- Linux初级阶段常见配置文件大全
- 自学QT之标准文件对话框
- Go学习笔记:json处理
- 剑指offer:输入一个链表,反转链表后,输出链表的所有元素。