Skip to content

Commit f4df8f7

Browse files
committed
6 problems solved.
1 parent 1d092ea commit f4df8f7

File tree

6 files changed

+150
-0
lines changed

6 files changed

+150
-0
lines changed

src/1784.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
bool checkOnesSegment(string s) {
2+
int len1 = 0;
3+
int len = s.size();
4+
if (len == 1)
5+
return true;
6+
7+
int i = 1;
8+
while (i < len && s[i] == '1')
9+
++i;
10+
if (i == len)
11+
return true;
12+
while (i < len && s[i] == '0')
13+
++i;
14+
return i == len;
15+
}

src/1791.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
int findCenter(vector<vector<int>>& edges) {
2+
int a = edges[0][0], b = edges[0][1];
3+
int c = edges[1][0], d = edges[1][1];
4+
5+
if (c == a || c == b)
6+
return c;
7+
else
8+
return d;
9+
}

src/1869.cpp

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

src/1876.cpp

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

src/1877.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
int minPairSum(vector<int>& nums) {
2+
sort(nums.begin(), nums.end());
3+
4+
int len = nums.size();
5+
int maxval = 0;
6+
int n = len/2;
7+
for (int i = 0; i < n; ++i)
8+
{
9+
int val = nums[i]+nums[len-1-i];
10+
if (val > maxval)
11+
maxval = val;
12+
}
13+
14+
return maxval;
15+
}

src/1880.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
bool isSumEqual(string firstWord, string secondWord, string targetWord) {
2+
int len1 = firstWord.size();
3+
int len2 = secondWord.size();
4+
int len = targetWord.size();
5+
int val1 = 0, val2 = 0, val = 0;
6+
for (int i = 0; i < len1; ++i)
7+
val1 = 10*val1 + firstWord[i]-'a';
8+
for (int i = 0; i < len2; ++i)
9+
val2 = 10*val2 + secondWord[i]-'a';
10+
for (int i = 0; i < len; ++i)
11+
val = 10*val + targetWord[i]-'a';
12+
13+
return val1 + val2 == val;
14+
}

0 commit comments

Comments
 (0)