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