Skip to content

Commit 6a8b705

Browse files
committed
6 problems solved.
1 parent a05fcbe commit 6a8b705

File tree

6 files changed

+128
-0
lines changed

6 files changed

+128
-0
lines changed

src/2540.cpp

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

src/2562.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
long long findTheArrayConcVal(vector<int>& nums) {
2+
int len = nums.size();
3+
int lim = len/2;
4+
long long concatsum = 0;
5+
6+
const long long coeff[] = {10, 100, 1000, 10000, 100000};
7+
8+
for (int i = 0; i < lim; ++i)
9+
{
10+
int n = log10(nums[len-1-i]);
11+
concatsum += nums[i]*coeff[n] + nums[len-1-i];
12+
}
13+
14+
if (len%2 != 0)
15+
concatsum += nums[lim];
16+
17+
return concatsum;
18+
}

src/2570.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
vector<vector<int>> mergeArrays(vector<vector<int>>& nums1, vector<vector<int>>& nums2) {
2+
int len1 = nums1.size();
3+
int len2 = nums2.size();
4+
int i = 0, j = 0;
5+
6+
vector<vector<int>> res;
7+
while (i < len1 && j < len2)
8+
{
9+
if (nums1[i][0] == nums2[j][0])
10+
{
11+
res.push_back({nums1[i][0], nums1[i][1]+nums2[j][1]});
12+
++i;
13+
++j;
14+
}
15+
else if (nums1[i][0] < nums2[j][0])
16+
{
17+
res.push_back(nums1[i]);
18+
++i;
19+
}
20+
else
21+
{
22+
res.push_back(nums2[j]);
23+
++j;
24+
}
25+
}
26+
27+
while (i < len1)
28+
{
29+
res.push_back(nums1[i]);
30+
++i;
31+
}
32+
while (j < len2)
33+
{
34+
res.push_back(nums2[j]);
35+
++j;
36+
}
37+
38+
return res;
39+
}

src/2574.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
vector<int> leftRigthDifference(vector<int>& nums) {
2+
int len = nums.size();
3+
int sum = 0;
4+
5+
vector<int> leftsum(len, 0);
6+
vector<int> res(len, 0);
7+
for (int i = 0; i < len; ++i)
8+
{
9+
leftsum[i] = sum;
10+
sum += nums[i];
11+
}
12+
for (int i = 0; i < len; ++i)
13+
{
14+
res[i] = abs(leftsum[i]-(sum-leftsum[i]-nums[i]));
15+
}
16+
17+
return res;
18+
}

src/2586.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
int vowelStrings(vector<string>& words, int left, int right) {
2+
int ct = 0;
3+
for (int i = left; i <= right; ++i)
4+
{
5+
char s = words[i][0], e = *words[i].rbegin();
6+
if ((s == 'a' || s == 'e' || s == 'i' ||
7+
s == 'o' || s == 'u') && (e == 'a' || e == 'e' ||
8+
e == 'i' || e == 'o' || e == 'u'))
9+
++ct;
10+
}
11+
12+
return ct;
13+
}

src/2595.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
vector<int> evenOddBit(int n) {
2+
vector<int> res(2, 0);
3+
int i = 0;
4+
5+
while (n != 0)
6+
{
7+
res[i] += n & 0x1;
8+
i = 1-i;
9+
n >>= 1;
10+
}
11+
12+
return res;
13+
}

0 commit comments

Comments
 (0)