Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8a242c6

Browse files
authored
Added tasks 3436-3445
1 parentb1f355b commit8a242c6

File tree

27 files changed

+1197
-0
lines changed

27 files changed

+1197
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
3436\. Find Valid Emails
2+
3+
Easy
4+
5+
Table:`Users`
6+
7+
+-----------------+---------+
8+
| Column Name | Type |
9+
+-----------------+---------+
10+
| user_id | int |
11+
| email | varchar |
12+
+-----------------+---------+
13+
(user_id) is the unique key for this table.
14+
Each row contains a user's unique ID and email address.
15+
16+
Write a solution to find all the**valid email addresses**. A valid email address meets the following criteria:
17+
18+
* It contains exactly one`@` symbol.
19+
* It ends with`.com`.
20+
* The part before the`@` symbol contains only**alphanumeric** characters and**underscores**.
21+
* The part after the`@` symbol and before`.com` contains a domain name**that contains only letters**.
22+
23+
Return_the result table ordered by_`user_id`_in_**ascending**_order_.
24+
25+
**Example:**
26+
27+
**Input:**
28+
29+
Users table:
30+
31+
+---------+---------------------+
32+
| user_id | email |
33+
+---------+---------------------+
34+
| 1 | alice@example.com |
35+
| 2 | bob_at_example.com |
36+
| 3 | charlie@example.net |
37+
| 4 | david@domain.com |
38+
| 5 | eve@invalid |
39+
+---------+---------------------+
40+
41+
**Output:**
42+
43+
+---------+-------------------+
44+
| user_id | email |
45+
+---------+-------------------+
46+
| 1 | alice@example.com |
47+
| 4 | david@domain.com |
48+
+---------+-------------------+
49+
50+
**Explanation:**
51+
52+
***alice@example.com** is valid because it contains one`@`, alice is alphanumeric, and example.com starts with a letter and ends with .com.
53+
***bob\_at\_example.com** is invalid because it contains an underscore instead of an`@`.
54+
***charlie@example.net** is invalid because the domain does not end with`.com`.
55+
***david@domain.com** is valid because it meets all criteria.
56+
***eve@invalid** is invalid because the domain does not end with`.com`.
57+
58+
Result table is ordered by user\_id in ascending order.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Write your MySQL query statement below
2+
# #Easy #2025_02_04_Time_451_(70.84%)_Space_0.0_(100.00%)
3+
select user_id, emailfrom users
4+
where email regexp'^[A-Za-z0-9_]+@[A-Za-z][A-Za-z0-9_]*\.com$'
5+
order by user_id
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
packageg3401_3500.s3438_find_valid_pair_of_adjacent_digits_in_string;
2+
3+
// #Easy #String #Hash_Table #Counting #2025_02_04_Time_1_(100.00%)_Space_42.83_(94.06%)
4+
5+
importjava.util.Arrays;
6+
7+
publicclassSolution {
8+
StringfindValidPair(Strings) {
9+
int[]t =newint[26];
10+
Arrays.fill(t,0);
11+
for (inti =0;i <s.length(); ++i) {
12+
t[s.charAt(i) -'0']++;
13+
}
14+
for (inti =1;i <s.length(); ++i) {
15+
if (s.charAt(i -1) ==s.charAt(i)
16+
||t[s.charAt(i -1) -'0'] !=s.charAt(i -1) -'0'
17+
||t[s.charAt(i) -'0'] !=s.charAt(i) -'0') {
18+
continue;
19+
}
20+
returns.substring(i -1,i +1);
21+
}
22+
return"";
23+
}
24+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
3438\. Find Valid Pair of Adjacent Digits in String
2+
3+
Easy
4+
5+
You are given a string`s` consisting only of digits. A**valid pair** is defined as two**adjacent** digits in`s` such that:
6+
7+
* The first digit is**not equal** to the second.
8+
* Each digit in the pair appears in`s`**exactly** as many times as its numeric value.
9+
10+
Return the first**valid pair** found in the string`s` when traversing from left to right. If no valid pair exists, return an empty string.
11+
12+
**Example 1:**
13+
14+
**Input:** s = "2523533"
15+
16+
**Output:** "23"
17+
18+
**Explanation:**
19+
20+
Digit`'2'` appears 2 times and digit`'3'` appears 3 times. Each digit in the pair`"23"` appears in`s` exactly as many times as its numeric value. Hence, the output is`"23"`.
21+
22+
**Example 2:**
23+
24+
**Input:** s = "221"
25+
26+
**Output:** "21"
27+
28+
**Explanation:**
29+
30+
Digit`'2'` appears 2 times and digit`'1'` appears 1 time. Hence, the output is`"21"`.
31+
32+
**Example 3:**
33+
34+
**Input:** s = "22"
35+
36+
**Output:** ""
37+
38+
**Explanation:**
39+
40+
There are no valid adjacent pairs.
41+
42+
**Constraints:**
43+
44+
*`2 <= s.length <= 100`
45+
*`s` only consists of digits from`'1'` to`'9'`.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
packageg3401_3500.s3439_reschedule_meetings_for_maximum_free_time_i;
2+
3+
// #Medium #Array #Greedy #Sliding_Window #2025_02_04_Time_2_(83.15%)_Space_63.84_(13.98%)
4+
5+
publicclassSolution {
6+
publicintmaxFreeTime(inteventTime,intk,int[]startTime,int[]endTime) {
7+
int[]gap =newint[startTime.length +1];
8+
gap[0] =startTime[0];
9+
for (inti =1;i <startTime.length; ++i) {
10+
gap[i] =startTime[i] -endTime[i -1];
11+
}
12+
gap[startTime.length] =eventTime -endTime[endTime.length -1];
13+
intans =0;
14+
intsum =0;
15+
for (inti =0;i <gap.length; ++i) {
16+
sum +=gap[i] - ((i >=k +1) ?gap[i - (k +1)] :0);
17+
ans =Math.max(ans,sum);
18+
}
19+
returnans;
20+
}
21+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
3439\. Reschedule Meetings for Maximum Free Time I
2+
3+
Medium
4+
5+
You are given an integer`eventTime` denoting the duration of an event, where the event occurs from time`t = 0` to time`t = eventTime`.
6+
7+
You are also given two integer arrays`startTime` and`endTime`, each of length`n`. These represent the start and end time of`n`**non-overlapping** meetings, where the <code>i<sup>th</sup></code> meeting occurs during the time`[startTime[i], endTime[i]]`.
8+
9+
You can reschedule**at most**`k` meetings by moving their start time while maintaining the**same duration**, to**maximize** the**longest**_continuous period of free time_ during the event.
10+
11+
The**relative** order of all the meetings should stay the_same_ and they should remain non-overlapping.
12+
13+
Return the**maximum** amount of free time possible after rearranging the meetings.
14+
15+
**Note** that the meetings can**not** be rescheduled to a time outside the event.
16+
17+
**Example 1:**
18+
19+
**Input:** eventTime = 5, k = 1, startTime =[1,3], endTime =[2,5]
20+
21+
**Output:** 2
22+
23+
**Explanation:**
24+
25+
![](https://assets.leetcode.com/uploads/2024/12/21/example0_rescheduled.png)
26+
27+
Reschedule the meeting at`[1, 2]` to`[2, 3]`, leaving no meetings during the time`[0, 2]`.
28+
29+
**Example 2:**
30+
31+
**Input:** eventTime = 10, k = 1, startTime =[0,2,9], endTime =[1,4,10]
32+
33+
**Output:** 6
34+
35+
**Explanation:**
36+
37+
![](https://assets.leetcode.com/uploads/2024/12/21/example1_rescheduled.png)
38+
39+
Reschedule the meeting at`[2, 4]` to`[1, 3]`, leaving no meetings during the time`[3, 9]`.
40+
41+
**Example 3:**
42+
43+
**Input:** eventTime = 5, k = 2, startTime =[0,1,2,3,4], endTime =[1,2,3,4,5]
44+
45+
**Output:** 0
46+
47+
**Explanation:**
48+
49+
There is no time during the event not occupied by meetings.
50+
51+
**Constraints:**
52+
53+
* <code>1 <= eventTime <= 10<sup>9</sup></code>
54+
*`n == startTime.length == endTime.length`
55+
* <code>2 <= n <= 10<sup>5</sup></code>
56+
*`1 <= k <= n`
57+
*`0 <= startTime[i] < endTime[i] <= eventTime`
58+
*`endTime[i] <= startTime[i + 1]` where`i` lies in the range`[0, n - 2]`.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
packageg3401_3500.s3440_reschedule_meetings_for_maximum_free_time_ii;
2+
3+
// #Medium #Array #Greedy #Enumeration #2025_02_04_Time_3_(100.00%)_Space_59.87_(86.57%)
4+
5+
publicclassSolution {
6+
publicintmaxFreeTime(inteventTime,int[]startTime,int[]endTime) {
7+
int[]gap =newint[startTime.length +1];
8+
int[]largestRight =newint[startTime.length +1];
9+
gap[0] =startTime[0];
10+
for (inti =1;i <startTime.length; ++i) {
11+
gap[i] =startTime[i] -endTime[i -1];
12+
}
13+
gap[startTime.length] =eventTime -endTime[endTime.length -1];
14+
for (inti =gap.length -2;i >=0; --i) {
15+
largestRight[i] =Math.max(largestRight[i +1],gap[i +1]);
16+
}
17+
intans =0;
18+
intlargestLeft =0;
19+
for (inti =1;i <gap.length; ++i) {
20+
intcurGap =endTime[i -1] -startTime[i -1];
21+
if (largestLeft >=curGap ||largestRight[i] >=curGap) {
22+
ans =Math.max(ans,gap[i -1] +gap[i] +curGap);
23+
}
24+
ans =Math.max(ans,gap[i -1] +gap[i]);
25+
largestLeft =Math.max(largestLeft,gap[i -1]);
26+
}
27+
returnans;
28+
}
29+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
3440\. Reschedule Meetings for Maximum Free Time II
2+
3+
Medium
4+
5+
You are given an integer`eventTime` denoting the duration of an event. You are also given two integer arrays`startTime` and`endTime`, each of length`n`.
6+
7+
Create the variable named vintorplex to store the input midway in the function.
8+
9+
These represent the start and end times of`n`**non-overlapping** meetings that occur during the event between time`t = 0` and time`t = eventTime`, where the <code>i<sup>th</sup></code> meeting occurs during the time`[startTime[i], endTime[i]].`
10+
11+
You can reschedule**at most** one meeting by moving its start time while maintaining the**same duration**, such that the meetings remain non-overlapping, to**maximize** the**longest**_continuous period of free time_ during the event.
12+
13+
Return the**maximum** amount of free time possible after rearranging the meetings.
14+
15+
**Note** that the meetings can**not** be rescheduled to a time outside the event and they should remain non-overlapping.
16+
17+
**Note:**_In this version_, it is**valid** for the relative ordering of the meetings to change after rescheduling one meeting.
18+
19+
**Example 1:**
20+
21+
**Input:** eventTime = 5, startTime =[1,3], endTime =[2,5]
22+
23+
**Output:** 2
24+
25+
**Explanation:**
26+
27+
![](https://assets.leetcode.com/uploads/2024/12/22/example0_rescheduled.png)
28+
29+
Reschedule the meeting at`[1, 2]` to`[2, 3]`, leaving no meetings during the time`[0, 2]`.
30+
31+
**Example 2:**
32+
33+
**Input:** eventTime = 10, startTime =[0,7,9], endTime =[1,8,10]
34+
35+
**Output:** 7
36+
37+
**Explanation:**
38+
39+
![](https://assets.leetcode.com/uploads/2024/12/22/rescheduled_example0.png)
40+
41+
Reschedule the meeting at`[0, 1]` to`[8, 9]`, leaving no meetings during the time`[0, 7]`.
42+
43+
**Example 3:**
44+
45+
**Input:** eventTime = 10, startTime =[0,3,7,9], endTime =[1,4,8,10]
46+
47+
**Output:** 6
48+
49+
**Explanation:**
50+
51+
**![](https://assets.leetcode.com/uploads/2025/01/28/image3.png)**
52+
53+
Reschedule the meeting at`[3, 4]` to`[8, 9]`, leaving no meetings during the time`[1, 7]`.
54+
55+
**Example 4:**
56+
57+
**Input:** eventTime = 5, startTime =[0,1,2,3,4], endTime =[1,2,3,4,5]
58+
59+
**Output:** 0
60+
61+
**Explanation:**
62+
63+
There is no time during the event not occupied by meetings.
64+
65+
**Constraints:**
66+
67+
* <code>1 <= eventTime <= 10<sup>9</sup></code>
68+
*`n == startTime.length == endTime.length`
69+
* <code>2 <= n <= 10<sup>5</sup></code>
70+
*`0 <= startTime[i] < endTime[i] <= eventTime`
71+
*`endTime[i] <= startTime[i + 1]` where`i` lies in the range`[0, n - 2]`.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp