Skip to content

Commit 5489bff

Browse files
committed
6 problems solved.
1 parent de6b81f commit 5489bff

File tree

6 files changed

+158
-0
lines changed

6 files changed

+158
-0
lines changed

src/2244.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
int minimumRounds(vector<int>& tasks) {
2+
map<int, int> mp;
3+
int len = tasks.size();
4+
for (int i = 0; i < len; ++i)
5+
{
6+
mp[tasks[i]]++;
7+
}
8+
9+
int ct = 0;
10+
for (auto& kv : mp)
11+
{
12+
if (kv.second < 2)
13+
return -1;
14+
else if (kv.second%2 == 0)
15+
{
16+
int n = kv.second/3;
17+
ct += n%2 == 0 ? n+(kv.second-n*3)/2 : n-1+(kv.second-(n-1)*3)/2;
18+
}
19+
else
20+
{
21+
int n = kv.second/3;
22+
ct += n%2 == 1 ? n+(kv.second-n*3)/2 : n-1+(kv.second-(n-1)*3)/2;
23+
}
24+
}
25+
26+
return ct;
27+
}

src/2259.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
string removeDigit(string number, char digit) {
2+
int len = number.size();
3+
int pos = len;
4+
for (int i = 0; i < len; ++i)
5+
{
6+
if (number[i] == digit)
7+
{
8+
pos = i;
9+
if (i < len-1 && number[i] < number[i+1])
10+
break;
11+
}
12+
}
13+
14+
string res(len-1, ' ');
15+
int k = 0;
16+
for (int i = 0; i < len; ++i)
17+
{
18+
if (i != pos)
19+
res[k++] = number[i];
20+
}
21+
22+
return res;
23+
}

src/2264.cpp

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
string largestGoodInteger(string num) {
2+
int len = num.size();
3+
int i = 1, ct = 1;
4+
char c = num[0];
5+
char goodchar = ' ';
6+
7+
while (i < len)
8+
{
9+
if (num[i] == c)
10+
{
11+
++ct;
12+
if (ct == 3)
13+
{
14+
if (goodchar == ' ')
15+
goodchar = c;
16+
else if (c > goodchar)
17+
goodchar = c;
18+
19+
int j = i+1;
20+
while (j < len && num[j] == c)
21+
++j;
22+
if (j == len)
23+
break;
24+
else
25+
{
26+
c = num[j];
27+
ct = 1;
28+
i = j+1;
29+
}
30+
}
31+
else
32+
++i;
33+
}
34+
else
35+
{
36+
c = num[i];
37+
ct = 1;
38+
++i;
39+
}
40+
}
41+
42+
if (goodchar != ' ')
43+
return string(3, goodchar);
44+
else
45+
return "";
46+
}

src/2269.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
int divisorSubstrings(int num, int k) {
2+
string s = to_string(num);
3+
int len = s.size();
4+
5+
int i, ct = 0;
6+
int sum = 0;
7+
for (i = 0; i < k; ++i)
8+
sum = sum*10 + s[i]-'0';
9+
10+
if (sum > 0 && num%sum == 0)
11+
++ct;
12+
i = 0;
13+
int coef = pow(10, k-1);
14+
for (int j = k; j < len; ++j)
15+
{
16+
sum = (sum - (s[i]-'0')*coef)*10 + s[j]-'0';
17+
if (sum > 0 && num%sum == 0)
18+
++ct;
19+
++i;
20+
}
21+
22+
return ct;
23+
}

src/2278.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
int percentageLetter(string s, char letter) {
2+
int len = s.size();
3+
int ct = 0;
4+
for (int i = 0; i < len; ++i)
5+
{
6+
if (s[i] == letter)
7+
++ct;
8+
}
9+
10+
return ct*100/len;
11+
}

src/2279.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
int maximumBags(vector<int>& capacity, vector<int>& rocks, int additionalRocks) {
2+
int len = capacity.size();
3+
vector<int> lessvec(len, 0);
4+
5+
for (int i = 0; i < len; ++i)
6+
{
7+
lessvec[i] = capacity[i]-rocks[i];
8+
}
9+
10+
sort(lessvec.begin(), lessvec.end());
11+
12+
int ct = 0;
13+
for (int i = 0; i < len; ++i)
14+
{
15+
if (lessvec[i] == 0)
16+
++ct;
17+
else
18+
{
19+
if (additionalRocks >= lessvec[i])
20+
{
21+
additionalRocks -= lessvec[i];
22+
++ct;
23+
}
24+
}
25+
}
26+
27+
return ct;
28+
}

0 commit comments

Comments
 (0)