File tree Expand file tree Collapse file tree 6 files changed +139
-0
lines changed Expand file tree Collapse file tree 6 files changed +139
-0
lines changed Original file line number Diff line number Diff line change
1
+ long long smallestNumber (long long num) {
2
+ if (num == 0 )
3
+ return 0 ;
4
+ else if (num < 0 )
5
+ {
6
+ num = -num;
7
+ string s = to_string (num);
8
+ sort (s.begin (), s.end (), greater<char >());
9
+ return -1 *stoll (s, nullptr );
10
+ }
11
+ else
12
+ {
13
+ string s = to_string (num);
14
+ sort (s.begin (), s.end ());
15
+ int len = s.size ();
16
+ int i = 0 ;
17
+ for (i = 0 ; i < len; ++i)
18
+ {
19
+ if (s[i] != ' 0' )
20
+ break ;
21
+ }
22
+ if (i != len)
23
+ {
24
+ char c = s[i];
25
+ for (; i >= 1 ; --i)
26
+ {
27
+ s[i] = s[i-1 ];
28
+ }
29
+ s[0 ] = c;
30
+ }
31
+
32
+ return stoll (s, nullptr );
33
+ }
34
+ }
Original file line number Diff line number Diff line change
1
+ int minSteps (string s, string t) {
2
+ int num1[26 ] = {0 };
3
+ int num2[26 ] = {0 };
4
+ int len1 = s.size (), len2 = t.size ();
5
+ for (int i = 0 ; i < len1; ++i)
6
+ num1[s[i]-' a' ]++;
7
+ for (int i = 0 ; i < len2; ++i)
8
+ num2[t[i]-' a' ]++;
9
+
10
+ int ct = 0 ;
11
+ for (int i = 0 ; i < 26 ; ++i)
12
+ ct += abs (num1[i]-num2[i]);
13
+
14
+ return ct;
15
+ }
Original file line number Diff line number Diff line change
1
+ int digArtifacts (int n, vector<vector<int >>& artifacts, vector<vector<int >>& dig) {
2
+ map<pair<int ,int >,int > mp;
3
+ int len = artifacts.size ();
4
+ for (int i = 0 ; i < len; ++i)
5
+ {
6
+ int r1 = artifacts[i][0 ], c1 = artifacts[i][1 ];
7
+ int r2 = artifacts[i][2 ], c2 = artifacts[i][3 ];
8
+ for (int j = r1; j <= r2; ++j)
9
+ {
10
+ for (int k = c1; k <= c2; ++k)
11
+ mp[make_pair (j,k)] = i+1 ;
12
+ }
13
+ }
14
+
15
+ int sz = dig.size ();
16
+ for (int i = 0 ; i < sz; ++i)
17
+ mp[make_pair (dig[i][0 ], dig[i][1 ])] = 0 ;
18
+
19
+ set<int > st;
20
+ auto iterLast = mp.end ();
21
+ for (auto iter = mp.begin (); iter != iterLast; ++iter)
22
+ {
23
+ if (iter->second != 0 )
24
+ st.insert (iter->second );
25
+ }
26
+
27
+ return len - st.size ();
28
+ }
Original file line number Diff line number Diff line change
1
+ string minimizeResult (string expression) {
2
+ int num1 = 0 , num2 = 0 ;
3
+ int len = expression.size ();
4
+ int index = expression.find (' +' );
5
+ int m = len-1 -index;
6
+ for (int i = 0 ; i < index; ++i)
7
+ num1 = num1*10 + (expression[i]-' 0' );
8
+ for (int i = index+1 ; i < len; ++i)
9
+ num2 = num2*10 + (expression[i]-' 0' );
10
+
11
+ int digit1[20 ] = {1 ,num1}, digit2[20 ] = {num2,1 };
12
+ int n = pow (10 , index-1 );
13
+ for (int i = 1 ; i < index; ++i)
14
+ {
15
+ digit1[i*2 ] = num1/n;
16
+ digit1[i*2 +1 ] = num1%n;
17
+ n /= 10 ;
18
+ }
19
+ n = 10 ;
20
+ for (int i = 1 ; i < m; ++i)
21
+ {
22
+ digit2[i*2 ] = num2/n;
23
+ digit2[i*2 +1 ] = num2%n;
24
+ n *= 10 ;
25
+ }
26
+
27
+ int minval = 1e9 ;
28
+ int p = 0 , q = 0 ;
29
+ for (int i = 0 ; i < index; ++i)
30
+ {
31
+ for (int j = 0 ; j < m; ++j)
32
+ {
33
+ int val = digit1[i*2 ]*(digit1[i*2 +1 ] + digit2[j*2 ])*digit2[j*2 +1 ];
34
+ if (val < minval)
35
+ {
36
+ minval = val;
37
+ p = i;
38
+ q = j;
39
+ }
40
+ }
41
+ }
42
+
43
+ string res (len+2 , ' ' );
44
+ int k = 0 ;
45
+ for (int i = 0 ; i < len+2 ; ++i)
46
+ {
47
+ if (i == p)
48
+ res[i] = ' (' ;
49
+ else if (i == len+1 -q)
50
+ res[i] = ' )' ;
51
+ else
52
+ res[i] = expression[k++];
53
+ }
54
+
55
+ return res;
56
+ }
Original file line number Diff line number Diff line change
1
+ int sum (int num1, int num2) {
2
+ return num1 + num2;
3
+ }
Original file line number Diff line number Diff line change
1
+ bool checkTree (TreeNode* root) {
2
+ return root->val == root->left ->val + root->right ->val ;
3
+ }
You can’t perform that action at this time.
0 commit comments