NC172 二进制取反
描述
有一个二进制字符串numnum,可以选择该串中的任意一段区间进行取反(可以进行一次或不进行),取反指将00变为11,将11变为00。那么取反之后的numnum可能的最大的字典序是多少呢。如有num=1000num=1000,将区间[num_{2},…,num_{4}][num 2 ,…,num 4]取反变为11111111是字典序最大的。
分析
从左向右找到第一段“0”,反转,这样的字符串字典序最大
import java.util.*;
public class Solution