Skip to content

Commit 42eef0a

Browse files
committed
4 problems solved.
1 parent d455edb commit 42eef0a

File tree

4 files changed

+112
-0
lines changed

4 files changed

+112
-0
lines changed

src/1399.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
int countLargestGroup(int n) {
2+
map<int, int> mp;
3+
int maxnum = 0;
4+
for (int i = 1; i <= n; ++i)
5+
{
6+
int tmp = i, sum = 0;
7+
while (tmp != 0)
8+
{
9+
sum += tmp%10;
10+
tmp /= 10;
11+
}
12+
13+
mp[sum]++;
14+
if (mp[sum] > maxnum)
15+
maxnum = mp[sum];
16+
}
17+
18+
int ct = 0;
19+
for (auto iter = mp.begin(); iter != mp.end(); ++iter)
20+
if (iter->second == maxnum)
21+
++ct;
22+
23+
return ct;
24+
}

src/1413.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
int minStartValue(vector<int>& nums) {
2+
int len = nums.size();
3+
int minval = nums[0];
4+
int sum = minval;
5+
for (int i = 1; i < len; ++i)
6+
{
7+
sum += nums[i];
8+
if (sum < minval)
9+
minval = sum;
10+
}
11+
12+
if (minval >= 0)
13+
return 1;
14+
else
15+
return abs(minval) + 1;
16+
}

src/1417.cpp

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
string reformat(string s) {
2+
int len = s.size();
3+
if (len == 1)
4+
return s;
5+
int digit = 0;
6+
for (int i = 0; i < len; ++i)
7+
if (s[i] >= '0' && s[i] <= '9')
8+
++digit;
9+
if (len%2 == 0 && digit != len/2)
10+
return "";
11+
else if (len%2 == 1 && (digit < len/2 || digit > len/2+1))
12+
return "";
13+
14+
string res(len, ' ');
15+
if (len%2 == 1 && digit == len/2)
16+
{
17+
int p = 0, q = 1;
18+
for (int i = 0; i < len; ++i)
19+
{
20+
if (s[i] >= '0' && s[i] <= '9')
21+
{
22+
res[q] = s[i];
23+
q += 2;
24+
}
25+
else
26+
{
27+
res[p] = s[i];
28+
p += 2;
29+
}
30+
}
31+
}
32+
else
33+
{
34+
int p = 0, q = 1;
35+
for (int i = 0; i < len; ++i)
36+
{
37+
if (s[i] >= '0' && s[i] <= '9')
38+
{
39+
res[p] = s[i];
40+
p += 2;
41+
}
42+
else
43+
{
44+
res[q] = s[i];
45+
q += 2;
46+
}
47+
}
48+
}
49+
50+
return res;
51+
}

src/1422.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
int maxScore(string s) {
2+
int len = s.size();
3+
int arr[2] = {0, 0};
4+
for (int i = 0; i < len; ++i)
5+
arr[s[i]-'0']++;
6+
7+
int num1 = 0, num2 = 0;
8+
int maxscore = 0;
9+
for (int i = 0; i < len-1; ++i)
10+
{
11+
if (s[i] == '0')
12+
++num1;
13+
else
14+
++num2;
15+
int tmp = num1 + arr[1]-num2;
16+
if (tmp > maxscore)
17+
maxscore = tmp;
18+
}
19+
20+
return maxscore;
21+
}

0 commit comments

Comments
 (0)