File tree Expand file tree Collapse file tree 6 files changed +171
-0
lines changed Expand file tree Collapse file tree 6 files changed +171
-0
lines changed Original file line number Diff line number Diff line change
1
+ int maxLengthBetweenEqualCharacters (string s) {
2
+ vector<vector<int >> vec (26 , vector<int >(2 , -1 ));
3
+ int len = s.size ();
4
+
5
+ for (int i = 0 ; i < len; ++i)
6
+ {
7
+ if (vec[s[i]-' a' ][0 ] == -1 )
8
+ vec[s[i]-' a' ][0 ] = i;
9
+ else
10
+ vec[s[i]-' a' ][1 ] = i;
11
+ }
12
+
13
+ int maxdelta = 0 ;
14
+ for (int i = 0 ; i < 26 ; ++i)
15
+ {
16
+ int delta = vec[i][1 ]-vec[i][0 ];
17
+ if (vec[i][1 ] != -1 && delta > maxdelta)
18
+ maxdelta = delta;
19
+ }
20
+
21
+ return maxdelta-1 ;
22
+ }
Original file line number Diff line number Diff line change
1
+ vector<int > getSumAbsoluteDifferences (vector<int >& nums) {
2
+ int len = nums.size ();
3
+ vector<int > accusum (len, 0 );
4
+ int sum = 0 ;
5
+ for (int i = 0 ; i < len; ++i)
6
+ {
7
+ sum += nums[i];
8
+ accusum[i] = sum;
9
+ }
10
+
11
+ vector<int > res (len, 0 );
12
+ for (int i = 0 ; i < len; ++i)
13
+ {
14
+ res[i] = accusum[len-1 ]-accusum[i]-(len-1 -i)*nums[i]+(i+1 )*nums[i]-accusum[i];
15
+ }
16
+
17
+ return res;
18
+ }
Original file line number Diff line number Diff line change
1
+ int secondHighest (string s) {
2
+ int len = s.size ();
3
+ if (len <= 1 )
4
+ return -1 ;
5
+
6
+ int maxdigit = -1 , sndmaxdigit = -1 ;
7
+ for (int i = 0 ; i < len; ++i)
8
+ {
9
+ if (isdigit (s[i]))
10
+ {
11
+ int t = s[i]-' 0' ;
12
+ if (t > maxdigit)
13
+ {
14
+ sndmaxdigit = maxdigit;
15
+ maxdigit = t;
16
+ }
17
+ else if (t < maxdigit && t > sndmaxdigit)
18
+ sndmaxdigit = t;
19
+ }
20
+ }
21
+
22
+ return sndmaxdigit;
23
+ }
Original file line number Diff line number Diff line change
1
+ int numDifferentIntegers (string word) {
2
+ int len = word.size ();
3
+ for (int i = 0 ; i < len; ++i)
4
+ {
5
+ if (!isdigit (word[i]))
6
+ word[i] = ' ' ;
7
+ }
8
+
9
+ int i = 0 ;
10
+ int lh = -1 , rh = -1 ;
11
+ set<string> st;
12
+ bool flag = false ;
13
+
14
+ while (i < len)
15
+ {
16
+ if (word[i] == ' ' )
17
+ ++i;
18
+ else
19
+ {
20
+ lh = i;
21
+ while (i < len && word[i] == ' 0' )
22
+ ++i;
23
+ if (i == len)
24
+ {
25
+ flag = true ;
26
+ break ;
27
+ }
28
+ else if (word[i] == ' ' )
29
+ flag = true ;
30
+ else
31
+ {
32
+ lh = i;
33
+ while (i < len && word[i] != ' ' )
34
+ ++i;
35
+ st.insert (word.substr (lh, i-lh));
36
+ if (i == len)
37
+ break ;
38
+ }
39
+ }
40
+ }
41
+
42
+ if (flag)
43
+ st.insert (" 0" );
44
+
45
+ return st.size ();
46
+ }
Original file line number Diff line number Diff line change
1
+ vector<int > countPoints (vector<vector<int >>& points, vector<vector<int >>& queries) {
2
+ int plen = points.size ();
3
+ int qlen = queries.size ();
4
+
5
+ vector<int > r2 (qlen, 0 );
6
+ for (int i = 0 ; i < qlen; ++i)
7
+ r2[i] = queries[i][2 ]*queries[i][2 ];
8
+
9
+ vector<int > res (qlen, 0 );
10
+ for (int i = 0 ; i < qlen; ++i)
11
+ {
12
+ int ct = 0 ;
13
+ for (int j = 0 ; j < plen; ++j)
14
+ {
15
+ if (((queries[i][0 ]-points[j][0 ])*(queries[i][0 ]-points[j][0 ]) +
16
+ (queries[i][1 ]-points[j][1 ])*(queries[i][1 ]-points[j][1 ])) <= r2[i])
17
+ ++ct;
18
+ }
19
+
20
+ res[i] = ct;
21
+ }
22
+
23
+ return res;
24
+ }
Original file line number Diff line number Diff line change
1
+ string sortSentence (string s) {
2
+ int len = s.size ();
3
+ vector<vector<int >> pos (9 , vector<int >(2 , -1 ));
4
+
5
+ int i = 0 ;
6
+ int lh = 0 , rh = 0 ;
7
+ int ct = 0 ;
8
+ while (i < len)
9
+ {
10
+ while (i < len && s[i] != ' ' )
11
+ ++i;
12
+ rh = i-2 ;
13
+ pos[s[i-1 ]-' 0' -1 ][0 ] = lh;
14
+ pos[s[i-1 ]-' 0' -1 ][1 ] = rh;
15
+ ct += rh-lh+2 ;
16
+ if (i == len)
17
+ {
18
+ --ct;
19
+ break ;
20
+ }
21
+ lh = i+1 ;
22
+ ++i;
23
+ }
24
+
25
+ string res (ct, ' ' );
26
+ int k = 0 ;
27
+ for (int i = 0 ; i < 9 ; ++i)
28
+ {
29
+ if (pos[i][0 ] == -1 )
30
+ break ;
31
+ for (int j = pos[i][0 ]; j <= pos[i][1 ]; ++j)
32
+ res[k++] = s[j];
33
+ if (k < ct)
34
+ res[k++] = ' ' ;
35
+ }
36
+
37
+ return res;
38
+ }
You can’t perform that action at this time.
0 commit comments