Skip to content

Commit d64563e

Browse files
committed
6 problems solved.
1 parent 3f73ee1 commit d64563e

File tree

6 files changed

+132
-0
lines changed

6 files changed

+132
-0
lines changed

src/2265.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
int averageOfSubtree(TreeNode* root) {
2+
if (root == nullptr)
3+
return 0;
4+
5+
int ct = 0;
6+
int n = 0;
7+
search(root, n, ct);
8+
9+
return ct;
10+
}
11+
12+
int search(TreeNode* node, int& n, int& ct)
13+
{
14+
int sum = node->val;
15+
int p = 0, q = 0;
16+
if(node->left != nullptr)
17+
sum += search(node->left, p, ct);
18+
if(node->right != nullptr)
19+
sum += search(node->right, q, ct);
20+
21+
if(sum/(p+q+1) == node->val)
22+
++ct;
23+
n = p+q+1;
24+
return sum;
25+
}

src/2341.cpp

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

src/2347.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
string bestHand(vector<int>& ranks, vector<char>& suits) {
2+
int nrank[14] = {0};
3+
char suit = suits[0];
4+
int n = 0, maxnum = 0;
5+
6+
for (int i = 0; i < 5; ++i)
7+
{
8+
if (suits[i] == suit)
9+
++n;
10+
nrank[ranks[i]]++;
11+
if (maxnum < 2 && nrank[ranks[i]] == 2)
12+
maxnum = 2;
13+
else if (nrank[ranks[i]] == 3)
14+
maxnum = 3;
15+
}
16+
17+
if (n == 5)
18+
return "Flush";
19+
else if (maxnum == 3)
20+
return "Three of a Kind";
21+
else if (maxnum == 2)
22+
return "Pair";
23+
else
24+
return "High Card";
25+
}

src/2351.cpp

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

src/2363.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
vector<vector<int>> mergeSimilarItems(vector<vector<int>>& items1, vector<vector<int>>& items2) {
2+
int len1 = items1.size();
3+
int len2 = items2.size();
4+
5+
map<int, int> mp;
6+
for (int i = 0; i < len1; ++i)
7+
mp[items1[i][0]] += items1[i][1];
8+
for (int i = 0; i < len2; ++i)
9+
mp[items2[i][0]] += items2[i][1];
10+
11+
int sz = mp.size();
12+
int k = 0;
13+
vector<vector<int>> res(sz, vector<int>(2, 0));
14+
for (auto iter = mp.begin(); iter != mp.end(); ++iter)
15+
{
16+
res[k][0] = iter->first;
17+
res[k][1] = iter->second;
18+
++k;
19+
}
20+
21+
return res;
22+
}

src/2367.cpp

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

0 commit comments

Comments
 (0)