در این مطلب، ویدئو اتاق های جلسه II – Leetcode 253 – Python با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:11:46
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:01,680
سلام به همه خوش آمدید و بیایید
2
00:00:01,680 –> 00:00:03,439
امروز یک کد دقیق تر بنویسیم، بنابراین امروز
3
00:00:03,439 –> 00:00:05,279
بیایید اتاق جلسه دو را حل
4
00:00:05,279 –> 00:00:06,960
کنیم و درست مانند اتاق جلسه اول،
5
00:00:06,960 –> 00:00:08,240
این مشکل را در
6
00:00:08,240 –> 00:00:09,040
وب سایت به نام
7
00:00:09,040 –> 00:00:11,360
کد lint حل می کنیم زیرا این یک
8
00:00:11,360 –> 00:00:12,160
مشکل کد نشت ممتاز است،
9
00:00:12,160 –> 00:00:13,759
بنابراین اگر شما میخواهید به صورت رایگان آن را حل
10
00:00:13,759 –> 00:00:16,160
کنید، میتوانید از lintcode.com استفاده کنید،
11
00:00:16,160 –> 00:00:18,160
بنابراین تقریباً شبیه به اتاقهای جلسه است، به
12
00:00:18,160 –> 00:00:20,720
ما لیستی از زمانهای جلسه داده میشود که
13
00:00:20,720 –> 00:00:21,920
هر جلسه یک
14
00:00:21,920 –> 00:00:24,080
شی است و دو متغیر دارد، یک
15
00:00:24,080 –> 00:00:25,039
زمان شروع
16
00:00:25,039 –> 00:00:27,279
و آن دارد. زمان پایان و زمان پایان
17
00:00:27,279 –> 00:00:29,039
همیشه بعد از
18
00:00:29,039 –> 00:00:30,640
زمان شروع میآیند که کاملاً شهودی است
19
00:00:30,640 –> 00:00:33,200
و ما میخواهیم بدانیم که حداقل
20
00:00:33,200 –> 00:00:33,920
تعداد
21
00:00:33,920 –> 00:00:37,040
اتاقهای کنفرانس مورد نیاز برای همه
22
00:00:37,040 –> 00:00:38,399
این جلسات چقدر است، اکنون
23
00:00:38,399 –> 00:00:40,320
منظور آنها از اتاق کنفرانس اساساً
24
00:00:40,320 –> 00:00:41,680
25
00:00:41,680 –> 00:00:43,840
چیست؟ حداکثر تعداد
26
00:00:43,840 –> 00:00:45,120
27
00:00:45,120 –> 00:00:48,079
جلسات همپوشانی در هر نقطه از زمان است،
28
00:00:48,079 –> 00:00:49,039
به عنوان مثال
29
00:00:49,039 –> 00:00:50,640
در این ورودی، جلسه ای داریم که
30
00:00:50,640 –> 00:00:52,960
با 0 شروع می شود و در 30 پایان می یابد. جلسه دیگری
31
00:00:52,960 –> 00:00:54,960
که در 5 شروع می شود در 10 به پایان می رسد
32
00:00:54,960 –> 00:00:56,640
و سپس ano جلسه دیگری که از ساعت 15 شروع می شود
33
00:00:56,640 –> 00:00:59,120
و در ساعت 20 به پایان می رسد.
34
00:00:59,120 –> 00:01:01,440
و ما برای این مشکل به دو اتاق جلسه نیاز
35
00:01:01,440 –> 00:01:02,640
داریم زیرا
36
00:01:02,640 –> 00:01:05,760
دو جلسه همپوشانی
37
00:01:05,760 –> 00:01:08,640
خواهیم داشت بنابراین اگر یک اتاق داشته باشیم که در آن جلسه صفر تا
38
00:01:08,640 –> 00:01:10,320
سی در
39
00:01:10,320 –> 00:01:12,479
جلسه 5 تا 10 برگزار می شود. اساساً
40
00:01:12,479 –> 00:01:13,760
قرار است
41
00:01:13,760 –> 00:01:15,280
همزمان با این
42
00:01:15,280 –> 00:01:16,640
جلسه برگزار شود، بنابراین ما به یک اتاق جلسه دوم
43
00:01:16,640 –> 00:01:17,759
برای این کار نیاز
44
00:01:17,759 –> 00:01:19,840
خواهیم داشت و همچنین یک جلسه دیگر در ساعت 15 تا 20 خواهیم داشت
45
00:01:19,840 –> 00:01:22,240
. اکنون این جلسه با این یکی همپوشانی ندارد
46
00:01:22,240 –> 00:01:24,640
بنابراین از نظر فنی می توانند اکنون
47
00:01:24,640 –> 00:01:26,640
48
00:01:26,640 –> 00:01:27,920
نیازی به تعیین
49
00:01:27,920 –> 00:01:29,759
اینکه در هر اتاق جلسه چه اتفاقی میافتد، بخشی از همان اتاق جلسه نیست، فقط
50
00:01:29,759 –> 00:01:31,360
باید بدانیم که حداکثر
51
00:01:31,360 –> 00:01:33,520
تعداد جلسات همپوشانی در هر
52
00:01:33,520 –> 00:01:34,479
نقطه از زمان چقدر است،
53
00:01:34,479 –> 00:01:36,720
در این مورد که اتفاقاً دو جلسه است.
54
00:01:36,720 –> 00:01:38,479
برای مرتب
55
00:01:38,479 –> 00:01:39,600
کردن آرایه ورودی
56
00:01:39,600 –> 00:01:41,520
که n log n پیچیدگی زمانی می گیرد لازم
57
00:01:41,520 –> 00:01:42,960
است، بنابراین این
58
00:01:42,960 –> 00:01:44,079
پیچیدگی زمانی
59
00:01:44,079 –> 00:01:46,240
الگوریتم خواهد بود، پیچیدگی حافظه
60
00:01:46,240 –> 00:01:47,200
بزرگ o
61
00:01:47,200 –> 00:01:48,799
از n خواهد بود، من به شما نشان خواهم داد که چگونه برای انجام
62
00:01:48,799 –> 00:01:50,960
راه حل در حال حاضر اگر شما j مانند بیان مسئله به این خیره شوید
63
00:01:50,960 –> 00:01:52,799
و فقط به
64
00:01:52,799 –> 00:01:54,240
این اعداد نگاه کنید
65
00:01:54,240 –> 00:01:55,680
، پیدا کردن نحوه کدنویسی
66
00:01:55,680 –> 00:01:56,880
راه حل دشوار خواهد بود، اما
67
00:01:56,880 –> 00:01:58,719
همانطور که می دانید من دوست دارم نقاشی بکشم
68
00:01:58,719 –> 00:02:00,079
و وقتی به تصویر نگاه می کنید در
69
00:02:00,079 –> 00:02:01,840
واقع بسیار آسان می شود.
70
00:02:01,840 –> 00:02:03,600
برای اینکه بفهمیم چگونه این مشکل را حل کنیم،
71
00:02:03,600 –> 00:02:05,840
بنابراین بیایید این کار را انجام دهیم، بنابراین این گونه ای است که
72
00:02:05,840 –> 00:02:07,520
می توانیم آن جلسات را به درستی تجسم
73
00:02:07,520 –> 00:02:08,000
کنیم، این
74
00:02:08,000 –> 00:02:09,679
دقیقاً همان جلساتی است که
75
00:02:09,679 –> 00:02:11,038
در آن مثال اول به
76
00:02:11,038 –> 00:02:13,200
ما داده شد، ما یک جلسه داریم که از 0 به 30 می
77
00:02:13,200 –> 00:02:15,120
رود جلسه دیگری می رود. از ساعت 5 تا 10 و
78
00:02:15,120 –> 00:02:17,599
یک جلسه دیگر از 15 تا 20. حالا
79
00:02:17,599 –> 00:02:19,520
اگر فقط از چپ به راست برویم،
80
00:02:19,520 –> 00:02:20,319
خوب می بینیم
81
00:02:20,319 –> 00:02:22,160
این اولین جلسه ای است که
82
00:02:22,160 –> 00:02:24,000
درست شروع می شود، در ساعت صفر شروع می شود
83
00:02:24,000 –> 00:02:25,680
و اگر همین الان ادامه دهیم
84
00:02:25,680 –> 00:02:27,920
ببینید نقطه بعدی در شبکه ما
85
00:02:27,920 –> 00:02:28,319
86
00:02:28,319 –> 00:02:30,080
چیست، خوب یک جلسه دیگر وجود دارد و این
87
00:02:30,080 –> 00:02:32,080
زمان پایانی نیست، این نیست شما می دانید که
88
00:02:32,080 –> 00:02:33,040
اولین جلسه تمام نمی شود
89
00:02:33,040 –> 00:02:35,040
، اتفاقا
90
00:02:35,040 –> 00:02:36,640
جلسه دیگری شروع می شود، بنابراین
91
00:02:36,640 –> 00:02:38,160
جلسه دیگری تازه شروع شده است در زمان
92
00:02:38,160 –> 00:02:40,800
پنج، پس چه چیزی به ما می
93
00:02:40,800 –> 00:02:41,360
گوید که به ما می گوید
94
00:02:41,360 –> 00:02:43,360
دو جلسه تا کنون شروع شده است اما
95
00:02:43,360 –> 00:02:45,280
هیچ چیز درست به پایان نرسیده است، هیچ
96
00:02:45,280 –> 00:02:45,920
جلسه ای
97
00:02:45,920 –> 00:02:48,720
هنوز به پایان نرسیده است، بنابراین در این مقطع زمانی، ما
98
00:02:48,720 –> 00:02:49,280
99
00:02:49,280 –> 00:02:51,280
دو جلسه در
100
00:02:51,280 –> 00:02:53,120
همان زمان برگزار خواهیم کرد. بنابراین آنچه که ما
101
00:02:53,120 –> 00:02:54,480
حفظ خواهیم کرد یک تعداد متغیر است
102
00:02:54,480 –> 00:02:56,560
که در هر مقطع زمانی به ما می گوید
103
00:02:56,560 –> 00:02:58,640
که تعداد جلسات
104
00:02:58,640 –> 00:03:00,480
در حال انجام است و در حال حاضر حساب ما 2 است
105
00:03:00,480 –> 00:03:01,680
و ما در نهایت
106
00:03:01,680 –> 00:03:03,760
هر مقدار حداکثر این را برمی گردانیم.
107
00:03:03,760 –> 00:03:04,319
108
00:03:04,319 –> 00:03:06,480
اتفاقاً نقطه بعدی در شبکه ما چیست، ما
109
00:03:06,480 –> 00:03:08,480
از این مورد بازدید کردیم، این یکی را بازدید کردیم،
110
00:03:08,480 –> 00:03:10,800
اکنون در حال بررسی این یکی هستیم درست
111
00:03:10,800 –> 00:03:12,080
در زمان
112
00:03:12,080 –> 00:03:14,400
10، یک نقطه پایانی وجود دارد، این یک
113
00:03:14,400 –> 00:03:16,480
مقدار شروع نیست، این یک مقدار
114
00:03:16,480 –> 00:03:17,120
شروع است. یک
115
00:03:17,120 –> 00:03:19,920
مقدار پایانی، بنابراین چه چیزی به ما
116
00:03:19,920 –> 00:03:22,000
می گوید که به ما می گوید یک جلسه به تازگی
117
00:03:22,000 –> 00:03:23,519
به پایان رسیده است، بنابراین ما با
118
00:03:23,519 –> 00:03:25,519
شمارش خود چه کار خواهیم کرد، می دانستیم که دو
119
00:03:25,519 –> 00:03:27,519
جلسه همزمان در اینجا برگزار می شود،
120
00:03:27,519 –> 00:03:29,840
اما اکنون پس از این مرحله ما فقط
121
00:03:29,840 –> 00:03:31,599
یک جلسه در حال انجام است
122
00:03:31,599 –> 00:03:32,640
به تصویر نگاه کنید
123
00:03:32,640 –> 00:03:34,080
، فقط یک جلسه در جریان است و این اولین جلسه است،
124
00:03:34,080 –> 00:03:36,319
از صفر تا 30. بنابراین
125
00:03:36,319 –> 00:03:37,280
ما تعداد
126
00:03:37,280 –> 00:03:38,400
جلساتی را که در حال انجام است روی
127
00:03:38,400 –> 00:03:40,400
یک تنظیم می کنیم و اکنون به ترتیب به نقطه بعدی نگاه
128
00:03:40,400 –> 00:03:41,599
می کنیم.
129
00:03:41,599 –> 00:03:44,879
این یک زمان شروع است، بنابراین
130
00:03:44,879 –> 00:03:47,120
یک جلسه دیگر به تازگی در ساعت 15 شروع شده است،
131
00:03:47,120 –> 00:03:48,879
بنابراین یک بار دیگر دو
132
00:03:48,879 –> 00:03:50,560
جلسه درست در این نقطه
133
00:03:50,560 –> 00:03:52,560
در حال انجام است، دو جلسه در
134
00:03:52,560 –> 00:03:53,280
اولین و
135
00:03:53,280 –> 00:03:55,599
این جلسه دوم برگزار می شود، بنابراین یک بار دیگر جلسه ای
136
00:03:55,599 –> 00:03:57,280
شروع شده است که قرار است به ما بگویید
137
00:03:57,280 –> 00:03:58,080
که تعداد خود را افزایش دهیم
138
00:03:58,080 –> 00:04:00,239
، بنابراین اکنون می خواهیم بگوییم که دو
139
00:04:00,239 –> 00:04:02,080
جلسه دوباره برگزار می شود
140
00:04:02,080 –> 00:04:03,519
و دوباره همان روند را تکرار می کنیم
141
00:04:03,519 –> 00:04:05,680
، نقطه بعدی در 20 است
142
00:04:05,680 –> 00:04:06,640
که اتفاقاً
143
00:04:06,640 –> 00:04:08,640
زمان پایان است، بنابراین یک جلسه در حال
144
00:04:08,640 –> 00:04:09,840
پایان است. درست است،
145
00:04:09,840 –> 00:04:11,760
ما از نظر فنی حتی نمی دانیم که آیا
146
00:04:11,760 –> 00:04:13,599
این جلسه به پایان می رسد یا این
147
00:04:13,599 –> 00:04:14,799
جلسه است که تمام می شود،
148
00:04:14,799 –> 00:04:15,599
واقعا برای ما مهم نیست،
149
00:04:15,599 –> 00:04:17,600
همه می دانیم که بعد از این مرحله
150
00:04:17,600 –> 00:04:19,600
فقط یک جلسه در حال برگزاری است.
151
00:04:19,600 –> 00:04:21,279
هر زمان خاص و این خواهد بود
152
00:04:21,279 –> 00:04:22,160
153
00:04:22,160 –> 00:04:23,520
بنابراین ما تعداد
154
00:04:23,520 –> 00:04:25,120
جلسات خود را کاهش می دهیم و اکنون
155
00:04:25,120 –> 00:04:25,759
156
00:04:25,759 –> 00:04:27,680
یکی و آخرین خواهد بود، اما مهم نیست که
157
00:04:27,680 –> 00:04:28,960
ما به آخرین
158
00:04:28,960 –> 00:04:31,199
نقطه در جدول خود خواهیم رفت و همچنین زمان پایان
159
00:04:31,199 –> 00:04:33,040
است، بدیهی است که آخرین نقطه همیشه است.
160
00:04:33,040 –> 00:04:33,520
161
00:04:33,520 –> 00:04:35,600
زمان پایانی برای یک جلسه خواهد بود، به این معنی که
162
00:04:35,600 –> 00:04:37,280
جلسه دیگری
163
00:04:37,280 –> 00:04:38,560
پس از آن نقطه متوقف می شود و فقط
164
00:04:38,560 –> 00:04:40,800
می دانید که جلسات صفر در جریان است
165
00:04:40,800 –> 00:04:42,479
، بنابراین ما می توانیم تعداد خود
166
00:04:42,479 –> 00:04:44,160
را تا انتها
167
00:04:44,160 –> 00:04:46,479
به صفر برسانیم و اکنون متوجه می شویم که
168
00:04:46,479 –> 00:04:48,160
حداکثر مقداری بود که شمارش اتفاقاً
169
00:04:48,160 –> 00:04:50,160
خوب بود حداکثری که تا به حال به آن رسیده بود دو بود،
170
00:04:50,160 –> 00:04:51,280
بنابراین ما
171
00:04:51,280 –> 00:04:53,680
دو را برمی گردانیم زیرا نتیجه ما دو اتاق جلسه
172
00:04:53,680 –> 00:04:56,080
برای حاوی همه این جلسات
173
00:04:56,080 –> 00:04:57,600
کافی است، بنابراین اجازه دهید سریع به شما نشان دهم که چگونه هستیم
174
00:04:57,600 –> 00:04:59,120
در واقع این نکات را مرتب می کنیم
175
00:04:59,120 –> 00:05:01,039
و اینکه چگونه می توانیم
176
00:05:01,039 –> 00:05:02,960
هر نقطه را به ترتیب تکرار کنیم،
177
00:05:02,960 –> 00:05:05,039
صرف نظر از اینکه زمان شروع یک
178
00:05:05,039 –> 00:05:06,080
جلسه است یا
179
00:05:06,080 –> 00:05:08,080
زمان پایان یک جلسه، بنابراین من
180
00:05:08,080 –> 00:05:09,919
کمی تغییر خواهم کرد. به عنوان مثال در این مورد
181
00:05:09,919 –> 00:05:10,800
بنابراین
182
00:05:10,800 –> 00:05:12,320
فقط با اینجا با توجه به تصویر،
183
00:05:12,320 –> 00:05:13,680
فکر می کنید شماره اتاق جلسه
184
00:05:13,680 –> 00:05:14,800
برای این مشکل چه خواهد بود،
185
00:05:14,800 –> 00:05:16,800
خوب می بینید که اینجا
186
00:05:16,800 –> 00:05:17,840
یک جلسه برگزار
187
00:05:17,840 –> 00:05:19,199
می شود، دو
188
00:05:19,199 –> 00:05:20,479
جلسه در اینجا برگزار می شود، دو
189
00:05:20,479 –> 00:05:21,600
جلسه در اینجا وجود دارد، یک جلسه برگزار می شود،
190
00:05:21,600 –> 00:05:23,199
اما نگاه کنید این نقطه در
191
00:05:23,199 –> 00:05:26,639
زمان برابر با 10 است، واضح است
192
00:05:26,639 –> 00:05:27,680
193
00:05:27,680 –> 00:05:29,280
که در این زمان سه جلسه در جریان است یا
194
00:05:29,280 –> 00:05:31,840
حداقل سه جلسه دارای مقدار 10
195
00:05:31,840 –> 00:05:32,960
در
196
00:05:32,960 –> 00:05:34,560
بازه زمانی خود هستند، این بدان معنی است
197
00:05:34,560 –> 00:05:36,240
که از نظر فنی، سه جلسه به
198
00:05:36,240 –> 00:05:38,160
خوبی انجام می شود، همانطور که این مشکل
199
00:05:38,160 –> 00:05:40,320
تعریف شده است.
200
00:05:40,320 –> 00:05:42,880
این جلسه قبل از شروع این جلسه به پایان می رسد آنچه من می
201
00:05:42,880 –> 00:05:45,479
گویم این است که این دو جلسه
202
00:05:45,479 –> 00:05:47,919
با هم تداخل ندارند، بنابراین زمانی که ما
203
00:05:47,919 –> 00:05:49,680
از این نقطه عبور می کنیم، اگر زمانی به
204
00:05:49,680 –> 00:05:51,759
این معنی است که ما دو نقطه
205
00:05:51,759 –> 00:05:53,360
با همان ارزشی
206
00:05:53,360 –> 00:05:54,960
که داریم داشته باشیم. این کار را انجام می دهیم این است که ما همیشه
207
00:05:54,960 –> 00:05:56,560
208
00:05:56,560 –> 00:05:59,039
قبل