File tree Expand file tree Collapse file tree 4 files changed +112
-0
lines changed Expand file tree Collapse file tree 4 files changed +112
-0
lines changed Original file line number Diff line number Diff line change
1
+ int countLargestGroup (int n) {
2
+ map<int , int > mp;
3
+ int maxnum = 0 ;
4
+ for (int i = 1 ; i <= n; ++i)
5
+ {
6
+ int tmp = i, sum = 0 ;
7
+ while (tmp != 0 )
8
+ {
9
+ sum += tmp%10 ;
10
+ tmp /= 10 ;
11
+ }
12
+
13
+ mp[sum]++;
14
+ if (mp[sum] > maxnum)
15
+ maxnum = mp[sum];
16
+ }
17
+
18
+ int ct = 0 ;
19
+ for (auto iter = mp.begin (); iter != mp.end (); ++iter)
20
+ if (iter->second == maxnum)
21
+ ++ct;
22
+
23
+ return ct;
24
+ }
Original file line number Diff line number Diff line change
1
+ int minStartValue (vector<int >& nums) {
2
+ int len = nums.size ();
3
+ int minval = nums[0 ];
4
+ int sum = minval;
5
+ for (int i = 1 ; i < len; ++i)
6
+ {
7
+ sum += nums[i];
8
+ if (sum < minval)
9
+ minval = sum;
10
+ }
11
+
12
+ if (minval >= 0 )
13
+ return 1 ;
14
+ else
15
+ return abs (minval) + 1 ;
16
+ }
Original file line number Diff line number Diff line change
1
+ string reformat (string s) {
2
+ int len = s.size ();
3
+ if (len == 1 )
4
+ return s;
5
+ int digit = 0 ;
6
+ for (int i = 0 ; i < len; ++i)
7
+ if (s[i] >= ' 0' && s[i] <= ' 9' )
8
+ ++digit;
9
+ if (len%2 == 0 && digit != len/2 )
10
+ return " " ;
11
+ else if (len%2 == 1 && (digit < len/2 || digit > len/2 +1 ))
12
+ return " " ;
13
+
14
+ string res (len, ' ' );
15
+ if (len%2 == 1 && digit == len/2 )
16
+ {
17
+ int p = 0 , q = 1 ;
18
+ for (int i = 0 ; i < len; ++i)
19
+ {
20
+ if (s[i] >= ' 0' && s[i] <= ' 9' )
21
+ {
22
+ res[q] = s[i];
23
+ q += 2 ;
24
+ }
25
+ else
26
+ {
27
+ res[p] = s[i];
28
+ p += 2 ;
29
+ }
30
+ }
31
+ }
32
+ else
33
+ {
34
+ int p = 0 , q = 1 ;
35
+ for (int i = 0 ; i < len; ++i)
36
+ {
37
+ if (s[i] >= ' 0' && s[i] <= ' 9' )
38
+ {
39
+ res[p] = s[i];
40
+ p += 2 ;
41
+ }
42
+ else
43
+ {
44
+ res[q] = s[i];
45
+ q += 2 ;
46
+ }
47
+ }
48
+ }
49
+
50
+ return res;
51
+ }
Original file line number Diff line number Diff line change
1
+ int maxScore (string s) {
2
+ int len = s.size ();
3
+ int arr[2 ] = {0 , 0 };
4
+ for (int i = 0 ; i < len; ++i)
5
+ arr[s[i]-' 0' ]++;
6
+
7
+ int num1 = 0 , num2 = 0 ;
8
+ int maxscore = 0 ;
9
+ for (int i = 0 ; i < len-1 ; ++i)
10
+ {
11
+ if (s[i] == ' 0' )
12
+ ++num1;
13
+ else
14
+ ++num2;
15
+ int tmp = num1 + arr[1 ]-num2;
16
+ if (tmp > maxscore)
17
+ maxscore = tmp;
18
+ }
19
+
20
+ return maxscore;
21
+ }
You can’t perform that action at this time.
0 commit comments