有一个二进制字符串,可以选择该串中的任意一段区间进行取反(可以进行一次或不进行),取反指将变为,将变为。那么取反之后的可能的最大的字典序是多少呢。如有,将区间取反变为是字典序最大的。
"1000"
"1111"
如题意描述。
"1001"
对区间取反能使得字典序最大。
的长度不超过1000。
char* maxLexicographical(char* num ) { // write code here int i = 0; while (num[i]) { if (num[i] == '0') { num[i] = '1'; if (num[i + 1] != '0') break; } i++; } return num; }
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题