در این مطلب، ویدئو علامت گذاری لهستانی معکوس را ارزیابی کنید – Leetcode 150 – Python با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:10:22
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:02,080
algomonster را با استفاده از پیوند موجود
2
00:00:02,080 –> 00:00:05,040
در توضیحات بررسی کنید و از code neat برای
3
00:00:05,040 –> 00:00:08,160
10 دسترسی مادام العمر استفاده کنید سلام همه به بازگشت خوش آمدید
4
00:00:08,160 –> 00:00:09,840
و بیایید امروز چند کد دقیق تر بنویسیم،
5
00:00:09,840 –> 00:00:11,759
بنابراین امروز بیایید مشکل را حل
6
00:00:11,759 –> 00:00:15,200
7
00:00:15,200 –> 00:00:17,440
کنیم.
8
00:00:17,440 –> 00:00:19,680
معنی آن اصطلاح حتی
9
00:00:19,680 –> 00:00:21,600
به معنای است و این فقط نوعی روش برای
10
00:00:21,600 –> 00:00:22,640
محاسبه
11
00:00:22,640 –> 00:00:25,199
عبارات حسابی است و تنها
12
00:00:25,199 –> 00:00:26,640
عملیاتی که ما واقعاً
13
00:00:26,640 –> 00:00:27,760
در این مورد انجام خواهیم داد این خواهد بود که عملیات
14
00:00:27,760 –> 00:00:30,880
ساده جمع کردن ضرب تفریق و
15
00:00:30,880 –> 00:00:32,960
تقسیم یک نت که آنها را انجام دهیم. به ما بگویید
16
00:00:32,960 –> 00:00:34,960
که تقسیم بین دو عدد صحیح
17
00:00:34,960 –> 00:00:38,000
اساساً باید به سمت صفر گرد شود، اوه،
18
00:00:38,000 –> 00:00:39,040
زیرا من این کار را در پایتون انجام خواهم داد،
19
00:00:39,040 –> 00:00:41,440
اما اگر می دانید مقداری را در نظر بگیرید
20
00:00:41,440 –> 00:00:43,440
و تقسیم عدد صحیح
21
00:00:43,440 –> 00:00:46,559
بین آنها انجام دهید، آنها همیشه به سمت پایین گرد می کنند
22
00:00:46,559 –> 00:00:48,239
که به سمت صفر گرد نمی شود.
23
00:00:48,239 –> 00:00:49,600
لزوماً به این دلیل که تصور کنید اگر
24
00:00:49,600 –> 00:00:51,840
منفی سه تقسیم بر دو داشتیم که
25
00:00:51,840 –> 00:00:54,640
منفی یک امتیاز پنج است،
26
00:00:54,640 –> 00:00:56,719
در پایتون به منفی دو تبدیل می شود، اما این چیزی نیست
27
00:00:56,719 –> 00:00:58,800
که w میخواهم این کار را انجام دهم، اما یک ترفند
28
00:00:58,800 –> 00:01:00,480
در پایتون وجود دارد که میتوانید آن را
29
00:01:00,480 –> 00:01:02,320
به سمت صفر تبدیل کنید، بنابراین
30
00:01:02,320 –> 00:01:04,000
اگر از جاوا استفاده میکنید، میتوانیم از آن مراقبت کنیم،
31
00:01:04,000 –> 00:01:05,519
اگرچه فکر میکنم به طور خودکار
32
00:01:05,519 –> 00:01:07,360
به سمت صفر میشود
33
00:01:07,360 –> 00:01:09,760
و در اکثر زبانها مانند c به علاوه به علاوه به سمت صفر میرود. اوه یک چیز به
34
00:01:09,760 –> 00:01:13,360
ما گفته شده است، هرچند از نظر عبارت rn rpn
35
00:01:13,360 –> 00:01:15,600
rpn این است
36
00:01:15,600 –> 00:01:17,119
که همیشه معتبر است که خوب است، بنابراین ما
37
00:01:17,119 –> 00:01:18,560
واقعاً نباید نگران موارد زیاد لبه باشیم
38
00:01:18,560 –> 00:01:20,479
، هرگز
39
00:01:20,479 –> 00:01:22,799
تقسیم بر صفر وجود نخواهد داشت. یا هر چیز احمقانه ای شبیه
40
00:01:22,799 –> 00:01:25,680
آن، بنابراین حالا rpn حتی به چه معناست خوب
41
00:01:25,680 –> 00:01:27,200
اجازه دهید نگاهی به این مثال بیندازیم تا به
42
00:01:27,200 –> 00:01:30,159
ما یک عملگر دو و یک uh سپس یک
43
00:01:30,159 –> 00:01:33,439
عملگر مثبت و سپس یک عملگر سه و سپس یک
44
00:01:33,439 –> 00:01:36,320
عملگر ضرب داده شود.
45
00:01:36,320 –> 00:01:37,840
کار این است که
46
00:01:37,840 –> 00:01:39,280
ما از چپ به راست می خوانیم،
47
00:01:39,280 –> 00:01:41,280
48
00:01:41,280 –> 00:01:43,759
ابتدا ورودی
49
00:01:43,759 –> 00:01:45,600
50
00:01:45,600 –> 00:01:47,759
ها را می خوانیم.
51
00:01:47,759 –> 00:01:49,280
case قرار
52
00:01:49,280 –> 00:01:53,040
است به دو مقدار قبلی و
53
00:01:53,040 –> 00:01:54,320
مانند i s اعمال شود کمک کنید که موارد لبه ای وجود نداشته باشد،
54
00:01:54,320 –> 00:01:56,000
بنابراین ما تضمین می کنیم که
55
00:01:56,000 –> 00:01:57,920
دو مقدار قبلی وجود خواهد داشت، بنابراین در
56
00:01:57,920 –> 00:02:01,119
این مورد کاری که ما انجام می دهیم
57
00:02:01,119 –> 00:02:04,560
این است که این دو و این یکی
58
00:02:04,560 –> 00:02:06,240
را با جمع کردن آنها با هم جایگزین کنیم تا جایی که قرار است جایگزین شود.
59
00:02:06,240 –> 00:02:09,758
با 3 سمت راست، بنابراین ما میتوانیم
60
00:02:09,758 –> 00:02:12,560
اینها را فراموش کنیم و قبلاً از این
61
00:02:12,560 –> 00:02:14,400
عملگر پلاس استفاده کردهایم، بنابراین میتوانیم
62
00:02:14,400 –> 00:02:17,520
آن را خط بزنیم و اکنون دوباره یک عدد 3 داریم،
63
00:02:17,520 –> 00:02:19,440
بنابراین میخواهم آن
64
00:02:19,440 –> 00:02:21,920
را اینجا بنویسم فقط برای مهربانی از شما می دانید که
65
00:02:21,920 –> 00:02:23,760
اساساً می گوییم که قبلاً سه را
66
00:02:23,760 –> 00:02:26,560
دیده ایم، عملگر ضرب
67
00:02:26,560 –> 00:02:28,239
داریم که قرار است روی دو مقدار قبلی اعمال شود،
68
00:02:28,239 –> 00:02:31,200
اکنون در خود ورودی واقعی
69
00:02:31,200 –> 00:02:33,120
می توانید ببینید که مقدار قبلی
70
00:02:33,120 –> 00:02:35,120
یک سه بود و مقدار قبل
71
00:02:35,120 –> 00:02:37,280
از آن یک عملگر مثبت بود وقتی می
72
00:02:37,280 –> 00:02:38,480
گوییم قرار است روی دو مقدار قبلی اعمال شود،
73
00:02:38,480 –> 00:02:40,560
منظور
74
00:02:40,560 –> 00:02:42,800
ما این نیست، ما نمی خواهیم آن را به عملگر دیگری اعمال کنیم،
75
00:02:42,800 –> 00:02:45,840
درست منظورمان دو مقدار قبلی است
76
00:02:45,840 –> 00:02:48,800
که آمده است، بنابراین می توانید ببینید که ما
77
00:02:48,800 –> 00:02:51,040
سه و سپس یکی قبل از آن
78
00:02:51,040 –> 00:02:53,040
وا یکی است اما به یاد داشته باشید که این دو و این
79
00:02:53,040 –> 00:02:55,519
یکی با این سه جایگزین شدند و
80
00:02:55,519 –> 00:02:57,840
سپس ما یک سه دومی داشتیم که
81
00:02:57,840 –> 00:02:59,519
اینجا یادداشت کردیم بنابراین این ضرب
82
00:02:59,519 –> 00:03:02,879
روی این دو مقدار اعمال می شود
83
00:03:02,879 –> 00:03:05,440
تا بتوانیم هر دوی آنها را ضرب کنیم و سپس
84
00:03:05,440 –> 00:03:06,959
جایگزین کنیم. آنها با نتیجه ای که در
85
00:03:06,959 –> 00:03:08,800
این مورد 9 خواهد بود. بنابراین می توانید
86
00:03:08,800 –> 00:03:11,120
ببینید که نتیجه ما همین است و
87
00:03:11,120 –> 00:03:14,319
اگر
88
00:03:14,319 –> 00:03:16,000
ساختار داده را بشناسید یا با
89
00:03:16,000 –> 00:03:18,080
ساختار داده یک پشته و آشنا باشید می توانید ببینید که درست است. شما
90
00:03:18,080 –> 00:03:20,319
قبلاً از آن در مسائل دیگر استفاده کرده اید، من
91
00:03:20,319 –> 00:03:23,200
فکر می کنم این مشکل برای
92
00:03:23,200 –> 00:03:25,200
فهمیدن اینکه یک پشته در اینجا مفید خواهد بود بسیار ساده است
93
00:03:25,200 –> 00:03:27,440
زیرا اساساً هر عملگر
94
00:03:27,440 –> 00:03:29,040
به مقادیر قبلی به درستی اعمال می شود
95
00:03:29,040 –> 00:03:32,159
اما در مورد این دو
96
00:03:32,159 –> 00:03:34,319
مقادیر قبلی قرار است
97
00:03:34,319 –> 00:03:36,159
از پشته سمت راست حذف شوند و سپس
98
00:03:36,159 –> 00:03:38,879
با مقدار جدید که یک سه است جایگزین شوند،
99
00:03:38,879 –> 00:03:40,239
بنابراین
100
00:03:40,239 –> 00:03:42,319
می دانید همانطور که از طریق ورودی می خوانیم،
101
00:03:42,319 –> 00:03:44,480
هر مقدار در اینجا
102
00:03:44,480 –> 00:03:47,599
هر زمان که به یک عملگر رسیدیم
103
00:03:47,599 –> 00:03:49,760
، دو مقدار قبلی به پشته اضافه می شوند. میخوام
104
00:03:49,760 –> 00:03:52,159
از پشته حذف شوند و سپس ما
105
00:03:52,159 –> 00:03:54,000
عملیات را روی آنها انجام می دهیم، بنابراین در
106
00:03:54,000 –> 00:03:55,599
این مورد دو به علاوه یک و سپس
107
00:03:55,599 –> 00:03:57,120
نتیجه آن را که سه است می گیریم
108
00:03:57,120 –> 00:04:00,239
و سپس آن را به پشته فشار می دهیم
109
00:04:00,239 –> 00:04:02,319
و این چیزی است که
110
00:04:02,319 –> 00:04:03,840
وقتی داشتم توضیح ترسیم را انجام میدادم
111
00:04:03,840 –> 00:04:05,840
خیلی سریع میخواستم
112
00:04:05,840 –> 00:04:07,280
یک مثال را با یک
113
00:04:07,280 –> 00:04:08,799
پشته اجرا کنیم و فقط برای اینکه این مشکل
114
00:04:08,799 –> 00:04:10,720
کمی جالبتر شود، اجازه دهید این
115
00:04:10,720 –> 00:04:11,599
116
00:04:11,599 –> 00:04:14,000
عملگر uh plus را با یک تفریق جایگزین کنیم
117
00:04:14,000 –> 00:04:17,199
و این را با یک تقسیم ضرب کنیم.
118
00:04:17,199 –> 00:04:18,478
با این دو عمل کمی متفاوت خواهد
119
00:04:18,478 –> 00:04:20,238
بود زیرا با
120
00:04:20,238 –> 00:04:22,079
بعلاوه این دو
121
00:04:22,079 –> 00:04:23,919
درست دو به علاوه یک اضافه می شوند، اما زمانی
122
00:04:23,919 –> 00:04:26,160
که مرتبه
123
00:04:26,160 –> 00:04:28,400
تفریق را داشته باشید به خوبی تفریق می شوند، عمل شهودی
124
00:04:28,400 –> 00:04:31,040
2 منهای 1 خواهد بود زیرا این
125
00:04:31,040 –> 00:04:34,080
ترتیبی که آنها در آن ظاهر می شوند اما 1 منهای 2
126
00:04:34,080 –> 00:04:36,160
می تواند به خوبی در این مورد امکان پذیر
127
00:04:36,160 –> 00:04:38,160
باشد، اگر به مثال دوم نگاه کنید،
128
00:04:38,160 –> 00:04:39,919
فکر می کنم آنها روشن می کنند که بله
129
00:04:39,919 –> 00:04:42,320
درست است 2 منهای 1. اجازه دهید
130
00:04:42,320 –> 00:04:43,759
t را اجرا کنیم. از این طریق با یک پشته خیلی
131
00:04:43,759 –> 00:04:45,520
سریع، بنابراین مقدار اول را می
132
00:04:45,520 –> 00:04:49,360
خوانیم: 2 است، آن را به پشته خود اضافه می کنیم، مقدار دوم
133
00:04:49,360 –> 00:04:51,759
1 است.
134
00:04:51,759 –> 00:04:53,759
135
00:04:53,759 –> 00:04:56,400
136
00:04:56,400 –> 00:04:58,160
پشته ما را انجام دهید و سپس عملیات را انجام دهید، بنابراین
137
00:04:58,160 –> 00:05:01,039
در این مورد 2 منهای 1 بود
138
00:05:01,039 –> 00:05:04,080
که در اینجا 1 می شود مقدار بعدی
139
00:05:04,080 –> 00:05:06,800
3 است، ما آن را به پشته اضافه می کنیم و بعد
140
00:05:06,800 –> 00:05:10,000
یک عملگر تقسیم داریم، بنابراین در این مورد این عملگر
141
00:05:10,000 –> 00:05:11,520
خواهد بود به همان ترتیبی که
142
00:05:11,520 –> 00:05:14,639
مقادیر به صورت 1 تقسیم بر 3 ظاهر می شوند، ما
143
00:05:14,639 –> 00:05:16,320
آن را به سمت 0 گرد می کنیم. بنابراین در این
144
00:05:16,320 –> 00:05:18,080
حالت در واقع 0 خواهد بود،
145
00:05:18,080 –> 00:05:20,720
بنابراین این را پاپ می کنیم
146
00:05:20,720 –> 00:05:23,199
و سپس آن را با 0 جایگزین می کنیم و ما تضمین می کنیم.
147
00: