Skip to content

Commit a846254

Browse files
committed
30 problems solved
1 parent 384f316 commit a846254

30 files changed

+580
-0
lines changed

src/2769.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
int theMaximumAchievableX(int num, int t) {
2+
return num + (t << 1);
3+
}

src/2798.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
int numberOfEmployeesWhoMetTarget(vector<int>& hours, int target) {
2+
int n = hours.size(), ct = 0;
3+
for (int i = 0; i < n; ++i)
4+
{
5+
if (hours[i] >= target)
6+
++ct;
7+
}
8+
9+
return ct;
10+
}

src/2824.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
int countPairs(vector<int>& nums, int target) {
2+
int len = nums.size();
3+
int ct = 0;
4+
for (int i = 0; i < len-1; ++i)
5+
{
6+
for (int j = i+1; j < len; ++j)
7+
{
8+
if (nums[i]+nums[j] < target)
9+
++ct;
10+
}
11+
}
12+
13+
return ct;
14+
}

src/2828.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
bool isAcronym(vector<string>& words, string s) {
2+
int len = words.size();
3+
int sz = s.size();
4+
if (len != sz)
5+
return false;
6+
7+
for (int i = 0; i < len; ++i)
8+
{
9+
if(words[i][0] != s[i])
10+
return false;
11+
}
12+
13+
return true;
14+
}

src/2833.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
int furthestDistanceFromOrigin(string moves) {
2+
int nl = 0, nr = 0;
3+
int len = moves.size();
4+
for (int i = 0; i < len; ++i)
5+
{
6+
if (moves[i] == 'L')
7+
++nl;
8+
if (moves[i] == 'R')
9+
++nr;
10+
}
11+
12+
return abs(nl-nr) + len-nl-nr;
13+
}

src/2848.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
int numberOfPoints(vector<vector<int>>& nums) {
2+
auto cmp = [](const vector<int>& a, const vector<int>& b){
3+
return (a[0]<b[0]) || (a[0]==b[0] && a[1] < b[1]);
4+
};
5+
6+
sort(nums.begin(), nums.end(), cmp);
7+
8+
int len = nums.size();
9+
int s0 = nums[0][0], e0 = nums[0][1];
10+
int i = 1, ct = 0;
11+
12+
while (i < len)
13+
{
14+
if(nums[i][0] <= e0)
15+
e0 = max(e0, nums[i][1]);
16+
else
17+
{
18+
ct += e0-s0+1;
19+
s0 = nums[i][0];
20+
e0 = nums[i][1];
21+
}
22+
++i;
23+
}
24+
25+
ct += e0-s0+1;
26+
27+
return ct;
28+
}

src/2859.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
int sumIndicesWithKSetBits(vector<int>& nums, int k) {
2+
int len = nums.size();
3+
int sum = 0;
4+
int i = pow(2, k)-1;
5+
for (; i < len; ++i)
6+
{
7+
int tmp = i;
8+
int ct = 0;
9+
while (tmp != 0)
10+
{
11+
if((tmp & 0x1) != 0)
12+
++ct;
13+
tmp >>= 1;
14+
}
15+
if(ct == k)
16+
sum += nums[i];
17+
}
18+
19+
return sum;
20+
}

src/2864.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
string maximumOddBinaryNumber(string s) {
2+
int len = s.size();
3+
string res(len, '0');
4+
5+
int ct = 0;
6+
for (int i = 0; i < len; ++i)
7+
{
8+
if(s[i] == '1')
9+
++ct;
10+
}
11+
res[len-1] = '1';
12+
for (int i = 1; i < ct; ++i)
13+
{
14+
res[i-1] = '1';
15+
}
16+
17+
return res;
18+
}

src/2894.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
int differenceOfSums(int n, int m) {
2+
int res = (1+n)*n/2;
3+
if (m > n)
4+
return res;
5+
int v = n, sum = 0;
6+
while (v%m != 0)
7+
--v;
8+
while (v > 0)
9+
{
10+
res -= v;
11+
sum += v;
12+
v -= m;
13+
}
14+
15+
return res-sum;
16+
}

src/2928.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
int distributeCandies(int n, int limit) {
2+
int ct = 0;
3+
for (int i = 0; i <= n; ++i)
4+
{
5+
if (i > limit)
6+
break;
7+
for (int j = 0; j <= n-i; ++j)
8+
{
9+
if (j > limit)
10+
break;
11+
if (n-i-j > limit)
12+
continue;
13+
else
14+
++ct;
15+
}
16+
}
17+
18+
return ct;
19+
}

src/2942.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
vector<int> findWordsContaining(vector<string>& words, char x) {
2+
int len = words.size();
3+
vector<int> res;
4+
5+
for (int i = 0; i < len; ++i)
6+
{
7+
if (words[i].find(x) != string::npos)
8+
res.push_back(i);
9+
}
10+
11+
return res;
12+
}

src/2951.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
vector<int> findPeaks(vector<int>& mountain) {
2+
vector<int> res;
3+
int len = mountain.size();
4+
for (int i = 1; i < len-1; ++i)
5+
{
6+
if (mountain[i] > mountain[i-1] && mountain[i] > mountain[i+1])
7+
res.push_back(i);
8+
}
9+
10+
return res;
11+
}

src/2956.cpp

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
vector<int> findIntersectionValues(vector<int>& nums1, vector<int>& nums2) {
2+
int n = nums1.size();
3+
int m = nums2.size();
4+
sort(nums1.begin(), nums1.end());
5+
sort(nums2.begin(), nums2.end());
6+
7+
int i = 0, j = 0;
8+
int a = 0, b = 0;
9+
while (i < n && j < m)
10+
{
11+
if (nums1[i] < nums2[j])
12+
++i;
13+
else if(nums1[i] > nums2[j])
14+
++j;
15+
else
16+
{
17+
while (i < n && nums1[i] == nums2[j])
18+
{
19+
++a;
20+
++i;
21+
}
22+
while (j < m && nums1[i-1] == nums2[j])
23+
{
24+
++b;
25+
++j;
26+
}
27+
}
28+
}
29+
30+
return {a, b};
31+
}

src/2960.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
int countTestedDevices(vector<int>& batteryPercentages) {
2+
int n = batteryPercentages.size();
3+
int m = 0;
4+
5+
for (int i = 0; i < n; ++i)
6+
{
7+
if (batteryPercentages[i] > m)
8+
{
9+
++m;
10+
}
11+
}
12+
13+
return m;
14+
}

src/2965.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
vector<int> findMissingAndRepeatedValues(vector<vector<int>>& grid) {
2+
int n = grid.size();
3+
int m = n*n+1;
4+
int a, b;
5+
vector<int> vec(m, 0);
6+
7+
for (int r = 0; r < n; ++r)
8+
{
9+
for (int c = 0; c < n; ++c)
10+
{
11+
vec[grid[r][c]]++;
12+
}
13+
}
14+
15+
for (int i = 1; i < m; ++i)
16+
{
17+
if (vec[i] == 2)
18+
a = i;
19+
if (vec[i] == 0)
20+
b = i;
21+
}
22+
23+
return {a, b};
24+
}

src/2974.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
vector<int> numberGame(vector<int>& nums) {
2+
int len = nums.size();
3+
sort(nums.begin(), nums.end());
4+
vector<int> res(len, 0);
5+
6+
for (int i = 0; i < len/2; ++i)
7+
{
8+
res[i*2] = nums[i*2+1];
9+
res[i*2+1] = nums[i*2];
10+
}
11+
12+
return res;
13+
}

src/3005.cpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
int maxFrequencyElements(vector<int>& nums) {
2+
int freq[101] = {0};
3+
int len = nums.size();
4+
5+
for (int i = 0; i < len; ++i)
6+
{
7+
freq[nums[i]]++;
8+
}
9+
10+
int maxfreq = 0;
11+
int ct = 0;
12+
for (int i = 0; i < 101; ++i)
13+
{
14+
if (freq[i] > maxfreq)
15+
{
16+
maxfreq = freq[i];
17+
ct = 1;
18+
}
19+
else if (maxfreq > 0 && freq[i] == maxfreq)
20+
{
21+
++ct;
22+
}
23+
}
24+
25+
return ct*maxfreq;
26+
}

src/3042.cpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
int countPrefixSuffixPairs(vector<string>& words) {
2+
int len = words.size();
3+
int i, j, k, ct = 0;
4+
5+
for (i = 0; i < len-1; ++i)
6+
{
7+
int len1 = words[i].size();
8+
for (j = i+1; j < len; ++j)
9+
{
10+
int len2 = words[j].size();
11+
if (len1 > len2)
12+
continue;
13+
for (k = 0; k < len1; ++k)
14+
{
15+
if (words[i][k] != words[j][k] ||
16+
words[i][k] != words[j][len2-1-(len1-1-k)])
17+
break;
18+
}
19+
20+
if (k == len1)
21+
++ct;
22+
}
23+
}
24+
25+
return ct;
26+
}

src/3090.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
int maximumLengthSubstring(string s) {
2+
size_t len {s.size()};
3+
size_t i = 0, j = 1, maxlength = 0;
4+
int arr[26] = {0};
5+
6+
arr[s[i]-'a']++;
7+
8+
while (j < len)
9+
{
10+
if (arr[s[j]-'a'] == 2)
11+
{
12+
if (j-i > maxlength)
13+
maxlength = j-i;
14+
arr[s[i]-'a']--;
15+
++i;
16+
}
17+
else
18+
{
19+
arr[s[j]-'a']++;
20+
++j;
21+
}
22+
}
23+
if (j-i > maxlength)
24+
maxlength = j-i;
25+
26+
return maxlength;
27+
}

src/3110.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
int scoreOfString(string s) {
2+
int len = s.size();
3+
int sum = 0;
4+
5+
for (int i = 1; i < len; ++i)
6+
{
7+
sum += abs(s[i]-s[i-1]);
8+
}
9+
10+
return sum;
11+
}

0 commit comments

Comments
 (0)