Skip to content

Commit 2e0f187

Browse files
committed
6 problems solved.
1 parent 091b974 commit 2e0f187

File tree

6 files changed

+186
-0
lines changed

6 files changed

+186
-0
lines changed

src/2407.cpp

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

src/2491.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
bool isCircularSentence(string sentence) {
2+
int len = sentence.size();
3+
char first = sentence[0], last = sentence[0];
4+
int i = 1;
5+
6+
while (i < len)
7+
{
8+
if (sentence[i] == ' ')
9+
{
10+
last = sentence[i-1];
11+
if (sentence[i+1] != last)
12+
return false;
13+
else
14+
++i;
15+
}
16+
else
17+
++i;
18+
}
19+
20+
return sentence[i-1] == first;
21+
}

src/2492.cpp

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

src/2497.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
int maximumValue(vector<string>& strs) {
2+
int len = strs.size();
3+
int maxval = 0;
4+
for (int i = 0; i < len; ++i)
5+
{
6+
int n = strs[i].size();
7+
bool flag = false;
8+
int j = 0;
9+
int val = 0;
10+
while (j < n)
11+
{
12+
if (isdigit(strs[i][j]))
13+
val = val*10 + (strs[i][j]-'0');
14+
else
15+
{
16+
flag = true;
17+
break;
18+
}
19+
++j;
20+
}
21+
22+
if (flag)
23+
{
24+
if (n > maxval)
25+
maxval = n;
26+
}
27+
else
28+
{
29+
if (val > maxval)
30+
maxval = val;
31+
}
32+
cout << val << endl;
33+
}
34+
35+
return maxval;
36+
}

src/2501.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
int deleteGreatestValue(vector<vector<int>>& grid) {
2+
int m = grid.size();
3+
int n = grid[0].size();
4+
5+
for (int i = 0; i < m; ++i)
6+
sort(grid[i].begin(), grid[i].end());
7+
8+
int sum = 0;
9+
for (int i = n-1; i >= 0; --i)
10+
{
11+
int maxval = 0;
12+
for (int j = 0; j < m; ++j)
13+
{
14+
if (grid[j][i] > maxval)
15+
maxval = grid[j][i];
16+
}
17+
18+
sum += maxval;
19+
}
20+
21+
return sum;
22+
}

src/63.cpp

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
2+
int row = obstacleGrid.size();
3+
int col = obstacleGrid[0].size();
4+
5+
if (row == 1 && col == 1)
6+
{
7+
return obstacleGrid[0][0] == 0 ? 1 : 0;
8+
}
9+
10+
vector<vector<int>> dp(row, vector<int>(col, 0));
11+
int r = 0, c = 0;
12+
while (r < row)
13+
{
14+
if (obstacleGrid[r][0] == 0)
15+
{
16+
dp[r][0] = 1;
17+
++r;
18+
}
19+
else
20+
{
21+
while (r < row)
22+
{
23+
dp[r][0] = -1;
24+
++r;
25+
}
26+
}
27+
}
28+
29+
while (c < col)
30+
{
31+
if (obstacleGrid[0][c] == 0)
32+
{
33+
dp[0][c] = 1;
34+
++c;
35+
}
36+
else
37+
{
38+
while (c < col)
39+
{
40+
dp[0][c] = -1;
41+
++c;
42+
}
43+
}
44+
}
45+
46+
r = 1;
47+
while (r < row)
48+
{
49+
c = 1;
50+
while (c < col)
51+
{
52+
if (obstacleGrid[r][c] == 0)
53+
{
54+
if (dp[r-1][c] == -1 && dp[r][c-1] == -1)
55+
dp[r][c] = -1;
56+
else
57+
{
58+
if (dp[r-1][c] != -1)
59+
dp[r][c] += dp[r-1][c];
60+
if (dp[r][c-1] != -1)
61+
dp[r][c] += dp[r][c-1];
62+
}
63+
}
64+
else
65+
dp[r][c] = -1;
66+
++c;
67+
}
68+
++r;
69+
}
70+
71+
return dp[row-1][col-1] > 0 ? dp[row-1][col-1] : 0;
72+
}

0 commit comments

Comments
 (0)