در این مطلب، ویدئو Leetcode 232. اجرای صف با استفاده از Stacks – Python با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:05:31
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,960 –> 00:00:03,360
این سوال از شما میخواهد که یک
2
00:00:03,360 –> 00:00:06,240
صف را با استفاده از پشتهها پیادهسازی کنید، بنابراین بیایید
3
00:00:06,240 –> 00:00:08,320
قبل از شروع حل این موضوع مطمئن شویم که اصول را درک کردهایم،
4
00:00:08,320 –> 00:00:10,000
5
00:00:10,000 –> 00:00:11,120
یک پشته
6
00:00:11,120 –> 00:00:13,440
از ساختار کشندهای پیروی میکند
7
00:00:13,440 –> 00:00:18,480
که در ابتدا به بیرون میآید، بنابراین اگر پشتهای داشته باشم
8
00:00:18,480 –> 00:00:20,400
، چیزی شبیه به این خواهد شد
9
00:00:20,400 –> 00:00:22,080
و اگر من ‘میخواهم مقادیری را اضافه کنم، فرض کنید
10
00:00:22,080 –> 00:00:24,000
میخواهم یک
11
00:00:24,000 –> 00:00:25,199
b
12
00:00:25,199 –> 00:00:27,119
و سپس c را اضافه کنم و سپس اگر میخواهم
13
00:00:27,119 –> 00:00:30,000
مقادیری را اضافه کنم، آنها را c b a اضافه میکنم،
14
00:00:30,000 –> 00:00:31,920
زیرا این
15
00:00:31,920 –> 00:00:33,840
آخرین در اولین است،
16
00:00:33,840 –> 00:00:35,840
این برای یک پشته است
17
00:00:35,840 –> 00:00:39,120
اما اگر i’ m اجرای q
18
00:00:39,120 –> 00:00:40,960
اگر b c را اضافه کنم،
19
00:00:40,960 –> 00:00:42,000
20
00:00:42,000 –> 00:00:43,040
21
00:00:43,040 –> 00:00:45,200
سپس اگر قرار است مقادیر
22
00:00:45,200 –> 00:00:47,360
را باز کنم یا اگر قرار است مقادیر را حذف کنم
23
00:00:47,360 –> 00:00:49,520
،
24
00:00:49,520 –> 00:00:51,600
ابتدا a را حذف می کنم، سپس ابتدا b را حذف می
25
00:00:51,600 –> 00:00:52,879
کنم و سپس می روم در نهایت
26
00:00:52,879 –> 00:00:55,120
ابتدا c را حذف کنید در حالی که در یک پشته
27
00:00:55,120 –> 00:00:57,600
برعکس خواهد بود این اول
28
00:00:57,600 –> 00:00:59,600
می رود این دوم می شود و این
29
00:00:59,600 –> 00:01:01,120
سوم می شود
30
00:01:01,120 –> 00:01:02,960
بنابراین این سوال به ما این امکان را می دهد که
31
00:01:02,960 –> 00:01:04,720
فقط با استفاده از دو پشته یک صف را اجرا
32
00:01:04,720 –> 00:01:05,680
33
00:01:05,680 –> 00:01:07,760
کنیم تا بتوانیم به این نکته اشاره کنیم که توسط با استفاده از
34
00:01:07,760 –> 00:01:11,159
دو مورد از اینها
35
00:01:12,000 –> 00:01:15,280
باید بتوانیم یک صف را
36
00:01:15,280 –> 00:01:16,799
با استفاده از
37
00:01:16,799 –> 00:01:18,560
دو ثانیه پیاده سازی کنیم
38
00:01:18,560 –> 00:01:19,520
خوب است،
39
00:01:19,520 –> 00:01:23,360
بنابراین اگر میخواهیم مقدار را به
40
00:01:23,360 –> 00:01:26,400
یک پشته اضافه کنیم، فرض کنیم s1 پشته اصلی ما خواهد بود،
41
00:01:26,400 –> 00:01:28,240
42
00:01:28,240 –> 00:01:30,079
بنابراین من یک پشته
43
00:01:30,079 –> 00:01:32,720
در اینجا دارم و این کار را با یک دکمه بسته در
44
00:01:32,720 –> 00:01:34,240
پایین انجام میدهم، متأسفم
45
00:01:34,240 –> 00:01:36,000
و اکنون که مقدار را اضافه کردم، مقدار
46
00:01:36,000 –> 00:01:37,040
a
47
00:01:37,040 –> 00:01:39,520
را اضافه میکنم. مقدار a
48
00:01:39,520 –> 00:01:41,920
من می خواهم مقدار بعدی b را اضافه کنم، اما اگر
49
00:01:41,920 –> 00:01:44,000
مقدار b را در بالا اضافه
50
00:01:44,000 –> 00:01:46,479
کنم و i و i pop b را اضافه کنم،
51
00:01:46,479 –> 00:01:47,840
ابتدا
52
00:01:47,840 –> 00:01:49,840
a به معنای q باید
53
00:01:49,840 –> 00:01:51,600
بیرون می آمد، بنابراین فرض کنید من
54
00:01:51,600 –> 00:01:54,320
b را اکنون اضافه کرده ام و اکنون می خواهم برای باز کردن مقدار b
55
00:01:54,320 –> 00:01:56,799
من می خواهم مقدار i را در
56
00:01:56,799 –> 00:01:57,920
تئوری ایجاد کنم
57
00:01:57,920 –> 00:01:59,439
a باید ظاهر
58
00:01:59,439 –> 00:02:00,960
شود نه b
59
00:02:00,960 –> 00:02:03,680
زیرا در یک صف اولین در اولین
60
00:02:03,680 –> 00:02:04,719
61
00:02:04,719 –> 00:02:06,240
خروجی است منطقی است
62
00:02:06,240 –> 00:02:08,959
بنابراین آنچه اتفاق می افتد این است که با استفاده
63
00:02:08,959 –> 00:02:11,520
از پشته دوم کاری که می توانم انجام دهم
64
00:02:11,520 –> 00:02:14,000
آیا می توانم مقادیر را برعکس اضافه
65
00:02:14,000 –> 00:02:17,599
کنم، بنابراین اگر b را داشته باشم، باید b را در اینجا اضافه
66
00:02:17,599 –> 00:02:22,440
کنم اولین کاری که می توانم انجام دهم این است که a
67
00:02:22,480 –> 00:02:24,640
را به پشته دوم خود اضافه کنم،
68
00:02:24,640 –> 00:02:26,239
بنابراین به
69
00:02:26,239 –> 00:02:28,400
این صورت پیش می رود، بنابراین اکنون یک اینجا دارم، سپس
70
00:02:28,400 –> 00:02:29,599
می توانم اضافه کنم b
71
00:02:29,599 –> 00:02:31,840
و سپس من یک back اضافه می کنم،
72
00:02:31,840 –> 00:02:34,319
بنابراین اگر بخواهم تابع pop را اکنون فراخوانی کنم
73
00:02:34,319 –> 00:02:36,560
a ظاهر می شود
74
00:02:36,560 –> 0