File tree Expand file tree Collapse file tree 5 files changed +145
-0
lines changed Expand file tree Collapse file tree 5 files changed +145
-0
lines changed Original file line number Diff line number Diff line change
1
+ bool isFascinating (int n) {
2
+ if (n > 333 )
3
+ return false ;
4
+ string s1 = to_string (n);
5
+ string s2 = to_string (n*2 );
6
+ string s3 = to_string (n*3 );
7
+
8
+ int arr[11 ] = {0 };
9
+ for (int i = 0 ; i < 3 ; ++i)
10
+ {
11
+ arr[s1[i]-' 0' ]++;
12
+ arr[s2[i]-' 0' ]++;
13
+ arr[s3[i]-' 0' ]++;
14
+ if (arr[s1[i]-' 0' ] > 1 || arr[s2[i]-' 0' ] > 1 || arr[s3[i]-' 0' ] > 1
15
+ || s1[i]-' 0' == 0 || s2[i]-' 0' == 0 || s3[i]-' 0' == 0 )
16
+ return false ;
17
+ }
18
+
19
+ return true ;
20
+ }
Original file line number Diff line number Diff line change
1
+ int findNonMinOrMax (vector<int >& nums) {
2
+ int len = nums.size ();
3
+ if (len <= 2 )
4
+ return -1 ;
5
+
6
+ int minval = 101 , maxval = 0 ;
7
+ int ct = 0 ;
8
+ int res = 0 ;
9
+
10
+ for (int i = 0 ; i < len; ++i)
11
+ {
12
+ if (nums[i] < minval)
13
+ {
14
+ if (minval != 101 )
15
+ {
16
+ ++ct;
17
+ if (ct == 2 )
18
+ {
19
+ res = minval;
20
+ break ;
21
+ }
22
+ }
23
+ minval = nums[i];
24
+ }
25
+ if (nums[i] > maxval)
26
+ {
27
+ if (maxval != 0 )
28
+ {
29
+ ++ct;
30
+ if (ct == 2 )
31
+ {
32
+ res = maxval;
33
+ break ;
34
+ }
35
+ }
36
+ maxval = nums[i];
37
+ }
38
+
39
+ if (nums[i] != minval && nums[i] != maxval)
40
+ {
41
+ res = nums[i];
42
+ break ;
43
+ }
44
+ }
45
+
46
+ return res;
47
+ }
Original file line number Diff line number Diff line change
1
+ int maximumNumberOfStringPairs (vector<string>& words) {
2
+ int len = words.size ();
3
+ int ct = 0 ;
4
+ vector<int > flag (len, 0 );
5
+
6
+ for (int i = 0 ; i < len-1 ; ++i)
7
+ {
8
+ if (flag[i] == 1 )
9
+ continue ;
10
+ for (int j = i+1 ; j < len; ++j)
11
+ {
12
+ if (flag[i] == 0 )
13
+ {
14
+ if (words[i][0 ] == words[j][1 ] && words[i][1 ] == words[j][0 ])
15
+ {
16
+ ++ct;
17
+ flag[i] = 1 ;
18
+ flag[j] = 1 ;
19
+ }
20
+ }
21
+ }
22
+ }
23
+
24
+ return ct;
25
+ }
Original file line number Diff line number Diff line change
1
+ int longestString (int x, int y, int z) {
2
+ int common = x < y ? x : y;
3
+ int diff = x > common ? 1 : (y > common ? 1 : 0 );
4
+ return (common*2 + diff + z) * 2 ;
5
+ }
Original file line number Diff line number Diff line change
1
+ int countBeautifulPairs (vector<int >& nums) {
2
+ int len = nums.size ();
3
+ int ct = 0 ;
4
+ vector<vector<int >> digits (len, {0 ,0 });
5
+
6
+ for (int i = 0 ; i != len; ++i)
7
+ {
8
+ int x = nums[i]%10 ;
9
+ int y = nums[i];
10
+ while (y >= 10 )
11
+ {
12
+ y /= 10 ;
13
+ }
14
+ digits[i][1 ] = x;
15
+ digits[i][0 ] = y;
16
+ if (x%2 == 0 )
17
+ digits[i][1 ] = 2 ;
18
+ if (x%3 == 0 )
19
+ digits[i][1 ] = 3 ;
20
+ if (x == 6 )
21
+ digits[i][1 ] = 6 ;
22
+ if (y%2 == 0 )
23
+ digits[i][0 ] = 2 ;
24
+ if (y%3 == 0 )
25
+ digits[i][0 ] = 3 ;
26
+ if (y == 6 )
27
+ digits[i][0 ] = 6 ;
28
+ }
29
+
30
+ for (int i = 0 ; i < len-1 ; ++i)
31
+ {
32
+ for (int j = i+1 ; j < len; ++j)
33
+ {
34
+ if ((digits[i][0 ] == 2 && digits[j][1 ] == 2 ) || (digits[i][0 ] == 2 && digits[j][1 ] == 6 ))
35
+ ;
36
+ else if ((digits[i][0 ] == 3 && digits[j][1 ] == 3 ) || (digits[i][0 ] == 3 && digits[j][1 ] == 6 ))
37
+ ;
38
+ else if ((digits[i][0 ] == 6 && digits[j][1 ] == 2 ) || (digits[i][0 ] == 6 && digits[j][1 ] == 3 ) || (digits[i][0 ] == 6 && digits[j][1 ] == 6 ))
39
+ ;
40
+ else if ((digits[i][0 ] == digits[j][1 ]) && digits[i][0 ] != 1 )
41
+ ;
42
+ else
43
+ ++ct;
44
+ }
45
+ }
46
+
47
+ return ct;
48
+ }
You can’t perform that action at this time.
0 commit comments