1. 题意
给二进制串,求重新排列后的最大串。
2. 题解
统计1
个数,将
C
n
t
−
1
Cnt-1
Cnt−1个1
放开头,其他除第0
位都是0
。
class Solution {
public:
string maximumOddBinaryNumber(string s) {
int cnt = count(s.begin(), s.end(), '1');
return string(cnt - 1, '1') + string(s.length() - cnt, '0') + '1';
}
};
一次遍历
class Solution {
public:
string maximumOddBinaryNumber(string s) {
int lp = -1;
string ans(s);
int sz = s.size();
if (s[sz - 1] == '1')
++lp;
for (int i = 0; i sz - 1;++i) {
if (s[i] == '1') {
if (lp == -1){
服务器托管网 swap(ans[i],ans[sz - 1]);
}
else {
swap(ans[i],ans[lp]);
}
++lp;
}
}
return ans;
}
};
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
设计思路 1.LCD1602显示A000:B 000 右下角显示24的数字,显示一节时间12:00. 2.规定矩阵键盘每一位表示的含义 s1按下,A队加一分 s2按下,A队加两分 s3按下,A队加三分 s4按下,A队减一分 如果加错了,减分修改错误计分,一分一…