File tree Expand file tree Collapse file tree 6 files changed +150
-0
lines changed Expand file tree Collapse file tree 6 files changed +150
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments