Skip to content

Commit 3f73ee1

Browse files
committed
9 problems solved.
1 parent 5489bff commit 3f73ee1

File tree

9 files changed

+183
-0
lines changed

9 files changed

+183
-0
lines changed

src/2283.cpp

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

src/2293.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
int minMaxGame(vector<int>& nums) {
2+
int len = nums.size();
3+
while (len != 1)
4+
{
5+
int n = len/2;
6+
for (int i = 0; i < n; ++i)
7+
{
8+
if (i%2 == 0)
9+
nums[i] = min(nums[i*2], nums[i*2+1]);
10+
else
11+
nums[i] = max(nums[i*2], nums[i*2+1]);
12+
}
13+
len /= 2;
14+
}
15+
16+
return nums[0];
17+
}

src/2299.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
bool strongPasswordCheckerII(string password) {
2+
string special = "!@#$%^&*()-+";
3+
int len = password.size();
4+
if (len < 8)
5+
return false;
6+
int lowernum = 0, uppernum = 0, digitnum = 0, specialnum = 0;
7+
char last = password[0];
8+
for (int i = 0; i < len; ++i)
9+
{
10+
if (password[i] >= 'a' && password[i] <='z')
11+
++lowernum;
12+
else if (password[i] >= 'A' && password[i] <= 'Z')
13+
++uppernum;
14+
else if (password[i] >= '0' && password[i] <= '9')
15+
++digitnum;
16+
else if (special.find(password[i]) != string::npos)
17+
++specialnum;
18+
if (i >= 1)
19+
{
20+
if (password[i] == last)
21+
return false;
22+
last = password[i];
23+
}
24+
}
25+
26+
return lowernum >= 1 && uppernum >= 1 && digitnum >= 1 && specialnum >= 1;
27+
}

src/2303.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
double calculateTax(vector<vector<int>>& brackets, int income) {
2+
int len = brackets.size();
3+
double taxes = 0;
4+
int last = 0;
5+
6+
for (int i = 0; i < len; ++i)
7+
{
8+
int num = brackets[i][0]-last;
9+
double val = num < income ? num : income;
10+
taxes += val*brackets[i][1]/100;
11+
12+
if (income <= num)
13+
break;
14+
income -= num;
15+
last = brackets[i][0];
16+
}
17+
18+
return taxes;
19+
}

src/2309.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
string greatestLetter(string s) {
2+
char digitnum[52] = {0};
3+
int len = s.size();
4+
5+
for (int i = 0; i < len; ++i)
6+
{
7+
if (s[i] >= 'a' && s[i] <= 'z')
8+
digitnum[s[i]-'a'] = 1;
9+
else
10+
digitnum[s[i]-'A'+26] = 1;
11+
}
12+
for (int i = 25; i >= 0; --i)
13+
{
14+
if (digitnum[i] == 1 && digitnum[i+26] == 1)
15+
return string(1,'A'+i);
16+
}
17+
18+
return "";
19+
}

src/2315.cpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
int countAsterisks(string s) {
2+
int len = s.size();
3+
int i = 0;
4+
int ct = 0;
5+
bool flag = false;
6+
7+
while (i < len)
8+
{
9+
if (flag == false)
10+
{
11+
if (s[i] == '*')
12+
++ct;
13+
else if (s[i] == '|')
14+
flag = true;
15+
++i;
16+
}
17+
else
18+
{
19+
if (s[i] == '|')
20+
flag = false;
21+
++i;
22+
}
23+
}
24+
25+
return ct;
26+
}

src/2319.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
bool checkXMatrix(vector<vector<int>>& grid) {
2+
int n = grid.size();
3+
for (int i = 0; i < n; ++i)
4+
{
5+
for (int j = 0; j < n; ++j)
6+
{
7+
if(i == j || i+j == n-1)
8+
{
9+
if(grid[i][j] == 0)
10+
return false;
11+
}
12+
else
13+
{
14+
if(grid[i][j] != 0)
15+
return false;
16+
}
17+
}
18+
}
19+
20+
return true;
21+
}

src/2325.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
string decodeMessage(string key, string message) {
2+
array<char, 26> transTb{};
3+
array<bool, 26> flag{};
4+
5+
int len = key.size();
6+
int j = 0;
7+
for (int i = 0; i < len; ++i)
8+
{
9+
if(key[i] != ' ' && flag[key[i]-'a'] == false)
10+
{
11+
transTb[key[i]-'a'] = 'a'+j;
12+
flag[key[i]-'a'] = true;
13+
++j;
14+
if(j == 26)
15+
break;
16+
}
17+
}
18+
19+
int mlen = message.size();
20+
for (int i = 0; i < mlen; ++i)
21+
{
22+
if(message[i] != ' ')
23+
message[i] = transTb[message[i]-'a'];
24+
}
25+
26+
return move(message);
27+
}

src/2331.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
bool evaluateTree(TreeNode* root) {
2+
if (root->val == 0)
3+
return false;
4+
else if (root->val == 1)
5+
return true;
6+
else if (root->val == 2)
7+
return evaluateTree(root->left) || evaluateTree(root->right);
8+
else
9+
return evaluateTree(root->left) && evaluateTree(root->right);
10+
}

0 commit comments

Comments
 (0)