در این مطلب، ویدئو تمرین مصاحبه کدنویسی پایتون – سختی: سخت با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:22:05
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:01,709
سلام به همه و خوش آمدید، بنابراین در
2
00:00:01,709 –> 00:00:02,700
ویدیوی امروز ما
3
00:00:02,700 –> 00:00:04,470
یک سوال مصاحبه برنامه نویسی نسبتاً دشوار را پشت سر می گذاریم،
4
00:00:04,470 –> 00:00:06,330
اکنون من
5
00:00:06,330 –> 00:00:07,680
چند مورد از اینها را در کانال خود انجام داده ام در نظرات زیر به من اطلاع دهید و اگر دوست دارید با گذاشتن لایک به من اطلاع دهید.
6
00:00:07,680 –> 00:00:08,970
7
00:00:08,970 –> 00:00:10,410
بچه ها این
8
00:00:10,410 –> 00:00:11,820
نوع فرمت و کاری که من انجام می دهم را دوست دارند و
9
00:00:11,820 –> 00:00:13,139
شما از این ویدیوها بیشتر می خواهید زیرا
10
00:00:13,139 –> 00:00:15,330
من همیشه خوشحالم که آنها را انجام دهم پلتفرمی
11
00:00:15,330 –> 00:00:16,859
که قرار است این مشکل را روی آن انجام دهم به
12
00:00:16,859 –> 00:00:19,560
نام algo expert dot IO این
13
00:00:19,560 –> 00:00:21,480
شخص من است. روش مورد علاقه برای انجام
14
00:00:21,480 –> 00:00:23,670
مشکلات برنامه نویسی صرفاً به این دلیل است
15
00:00:23,670 –> 00:00:25,320
که وقتی این را در اینجا بارگذاری می کنیم به شما نشان خواهم داد که
16
00:00:25,320 –> 00:00:27,210
نگاهی به
17
00:00:27,210 –> 00:00:29,070
خروجی خام خود برای مشاهده موارد مختلف آزمایشی خود
18
00:00:29,070 –> 00:00:30,269
برای اطمینان از اینکه
19
00:00:30,269 –> 00:00:32,369
همه چیز را درست انجام داده اید به جای تلاش برای
20
00:00:32,369 –> 00:00:33,840
پیدا کردن، واقعاً آسان است. برخی از سوالات را به صورت آنلاین میدانید
21
00:00:33,840 –> 00:00:35,520
و آنها را انجام میدهید، نمیدانید که آیا آنها را
22
00:00:35,520 –> 00:00:37,320
درست پاسخ دادهاید، باید ورودی را تایپ کنید،
23
00:00:37,320 –> 00:00:38,760
این بسیار سادهتر است، بسیار سریعتر
24
00:00:38,760 –> 00:00:40,710
است، بسیار راحتتر است.
25
00:00:40,710 –> 00:00:42,450
26
00:00:42,450 –> 00:00:44,489
27
00:00:44,489 –> 00:00:46,140
به هر حال نمیدانم
28
00:00:46,140 –> 00:00:48,000
بسیاری از این سؤالها را دوست دارم که میتوانید به صورت آنلاین پیدا کنید،
29
00:00:48,000 –> 00:00:49,680
اما توانایی کار در چنین
30
00:00:49,680 –> 00:00:51,629
پلتفرمی به من کمک میکند تمرکز کنم و
31
00:00:51,629 –> 00:00:53,520
فقط کارهای بیشتری انجام دهم، بنابراین اگر
32
00:00:53,520 –> 00:00:55,410
واقعاً میخواهید از این پلتفرم استفاده کنید.
33
00:00:55,410 –> 00:00:57,449
85 سوال مصاحبه برنامه نویسی
34
00:00:57,449 –> 00:00:58,920
و همچنین برخی منابع دیگر در اینجا وجود دارد که
35
00:00:58,920 –> 00:01:00,539
مربوط به آمادگی مصاحبه هستند و فقط
36
00:01:00,539 –> 00:01:03,149
توصیه هایی وجود دارد که من یک کد تخفیف در
37
00:01:03,149 –> 00:01:04,739
توضیحات دارم، بنابراین فناوری Tim است
38
00:01:04,739 –> 00:01:06,990
که اگر روی آن لینک کلیک کنید، 15٪ تخفیف به
39
00:01:06,990 –> 00:01:08,340
شما می دهد. علاقه مند به
40
00:01:08,340 –> 00:01:09,720
خرید آن هستید و این یک پیوند وابسته است،
41
00:01:09,720 –> 00:01:11,280
بنابراین من از آن کمیسیون دریافت خواهم
42
00:01:11,280 –> 00:01:13,530
کرد، بنابراین مشکلی که
43
00:01:13,530 –> 00:01:15,509
امروز می خواهیم حل کنیم بزرگترین
44
00:01:15,509 –> 00:01:17,250
مشکل محدوده است، بنابراین این یکی از مشکلات رایگان
45
00:01:17,250 –> 00:01:18,810
در بخش سخت است، بنابراین من
46
00:01:18,810 –> 00:01:20,070
تصمیم گرفتم فعلاً از این یکی بگذریم،
47
00:01:20,070 –> 00:01:22,350
ممکن است بعداً به آن بازگردیم و کاری که در
48
00:01:22,350 –> 00:01:24,360
اینجا انجام میدهیم این است که این مشکل را حل کنیم،
49
00:01:24,360 –> 00:01:26,310
بنابراین اساساً این موضوع را
50
00:01:26,310 –> 00:01:27,840
کامل نمیخوانم، اما مشکل از ما
51
00:01:27,840 –> 00:01:30,960
میخواهد انجام دهیم این است که بزرگترین دنباله
52
00:01:30,960 –> 00:01:34,110
متوالی اعداد داخل یک لیست اکنون
53
00:01:34,110 –> 00:01:35,850
نیازی نیست که این اعداد دقیقاً در
54
00:01:35,850 –> 00:01:37,409
کنار یکدیگر باشند، بنابراین چپ یا راست
55
00:01:37,409 –> 00:01:38,850
لازم نیست در مجاورت یکدیگر باشند و فقط
56
00:01:38,850 –> 00:01:41,009
باید وجود داشته باشند، بنابراین در این مورد
57
00:01:41,009 –> 00:01:43,710
بزرگترین محدوده اعداد یا
58
00:01:43,710 –> 00:01:47,220
دنباله اعداد را به ما می گوید. در داخل این لیست 0 و
59
00:01:47,220 –> 00:01:49,229
7 است، بنابراین 0 نقطه شروع است 7
60
00:01:49,229 –> 00:01:51,299
نقطه پایان است، یعنی می دانیم که 1 2
61
00:01:51,299 –> 00:01:53,909
تا 6 همه در این لیست هستند و
62
00:01:53,909 –> 00:01:55,590
این بزرگترین دنباله اعدادی است
63
00:01:55,590 –> 00:01:57,990
که ما پیدا کردیم، بنابراین چگونه می توانیم حل کنیم.
64
00:01:57,990 –> 00:01:59,460
این مشکل و چگونه می توانیم
65
00:01:59,460 –> 00:02:01,710
این مشکل را در زمان بهینه
66
00:02:01,710 –> 00:02:03,149
حل کنیم. راه حل اولیه ای که احتمالاً بسیاری از شما با
67
00:02:03,149 –> 00:02:04,829
شنیدن چنین
68
00:02:04,829 –> 00:02:07,409
مشکلی به آن فکر می کنید، به همین دلیل است که
69
00:02:07,409 –> 00:02:10,830
اکنون لیست را مرتب نمی کنیم، این در برخی
70
00:02:10,830 –> 00:02:12,750
شرایط خوب است اما ما باید درک
71
00:02:12,750 –> 00:02:14,660
کنیم که این یک راه
72
00:02:14,660 –> 00:02:17,070
حل بهینه نیست، دلیل بهینه بودن آن این است
73
00:02:17,070 –> 00:02:19,800
که می خواهیم کد ما در کوتاه ترین
74
00:02:19,800 –> 00:02:21,690
زمان ممکن اجرا شود و مرتب سازی یک
75
00:02:21,690 –> 00:02:24,930
لیست از قبل n log n زمان می برد، بنابراین
76
00:02:24,930 –> 00:02:26,670
این زمان متوسط یا بدتر است. زم
77
00:02:26,670 –> 00:02:28,740
برای مرتب سازی یک لیست راهی وجود دارد که
78
00:02:28,740 –> 00:02:30,780
بتوانیم این کار را سریعتر انجام دهیم بدون اینکه
79
00:02:30,780 –> 00:02:33,150
نیازی به مرتبسازی خوب باشد، پاسخ مثبت است و
80
00:02:33,150 –> 00:02:34,440
من تبلت طراحی خود را مطرح میکنم و
81
00:02:34,440 –> 00:02:36,270
به راهحل آن میپردازیم، اما
82
00:02:36,270 –> 00:02:37,709
این مشکل را برطرف خواهم کرد. سپس
83
00:02:37,709 –> 00:02:38,820
آن را کدگذاری می کنیم و دقیقاً در مورد نحوه عملکرد آن صحبت خواهیم کرد،
84
00:02:38,820 –> 00:02:40,530
بنابراین روشی که من می
85
00:02:40,530 –> 00:02:42,360
خواهم با توضیح یک مشکل شروع کنم، این است
86
00:02:42,360 –> 00:02:44,340
که آنچه را که مشکل در
87
00:02:44,340 –> 00:02:46,560
مورد برخی از راه حل های پیش پا افتاده برای
88
00:02:46,560 –> 00:02:48,120
آن مشکل فکر می کنیم، توضیح دهیم. از آن
89
00:02:48,120 –> 00:02:50,070
راه حل برای یافتن پاسخ استفاده کنید و سپس
90
00:02:50,070 –> 00:02:52,260
آن را برای یافتن راه حل بهینه تر تطبیق دهید،
91
00:02:52,260 –> 00:02:54,480
بنابراین در این مورد
92
00:02:54,480 –> 00:02:55,980
یک مثال سریع انجام می دهیم یا فقط چند
93
00:02:55,980 –> 00:02:57,090
عدد را در اینجا می نویسم، به طور تصادفی
94
00:02:57,090 –> 00:02:59,790
با آنچه قبلا داشتیم متفاوت خواهد بود.
95
00:02:59,790 –> 00:03:02,010
به یک به صفر
96
00:03:02,010 –> 00:03:03,959
چرا چیزی شبیه به آن نیست و ما
97
00:03:03,959 –> 00:03:05,489
فقط میخواهیم ببینیم که میدانید چگونه میتوانیم
98
00:03:05,489 –> 00:03:07,590
به عنوان یک انسان این مشکل را حل
99
00:03:07,590 –> 00:03:09,330
100
00:03:09,330 –> 00:03:10,890
101
00:03:10,890 –> 00:03:12,900
کنیم. میتوانیم بگوییم که یک دو
102
00:03:12,900 –> 00:03:16,350
سه چهار صفر میشود، درست میدانیم که
103
00:03:16,350 –> 00:03:18,299
t این محدوده است که چگونه میتوانیم این کار را در
104
00:03:18,299 –> 00:03:20,430
محاسبات واقعاً آسان و واقعاً سریع انجام دهیم،
105
00:03:20,430 –> 00:03:23,340
یک راه واقعاً آسان برای انجام این کار این است که
106
00:03:23,340 –> 00:03:25,070
فقط با مرتبسازی همه اعداد شروع کنیم، بنابراین
107
00:03:25,070 –> 00:03:27,030
فرض کنید همه اعداد را مرتب کردهایم و
108
00:03:27,030 –> 00:03:29,100
یک دو سه چهار میرویم، صفر است.
109
00:03:29,100 –> 00:03:32,970
در اینجا در 711 بد من اکنون می توانیم بگوییم
110
00:03:32,970 –> 00:03:34,769
که چرا این کار بسیار آسان تر است زیرا از آنجایی که
111
00:03:34,769 –> 00:03:36,480
همه اعداد متوالی در کنار
112
00:03:36,480 –> 00:03:38,670
یکدیگر هستند، تنها کاری که باید انجام دهیم این است که
113
00:03:38,670 –> 00:03:41,310
از حلقه صفر در لیست شروع کنیم تا
114
00:03:41,310 –> 00:03:43,350
به نقطه ای برسیم که هیچ عدد متوالی وجود نداشته باشد.
115
00:03:43,350 –> 00:03:45,720
پس همینجا همه اینها
116
00:03:45,720 –> 00:03:48,600
را ذخیره کنید و آنها را ذخیره کنید خوب این
117
00:03:48,600 –> 00:03:50,640
طولانیترین محدوده فعلی ماست و اکنون
118
00:03:50,640 –> 00:03:53,220
در هفت هستیم و اکنون کاری که میتوانیم انجام دهیم این است که
119
00:03:53,220 –> 00:03:54,989
یک محدوده از هفت را پیدا کنیم
120
00:03:54,989 –> 00:03:56,489
و فقط به راه خود ادامه دهیم تا زمانی که
121
00:03:56,489 –> 00:03:57,660
همه اعداد را مرور کرده ایم و
122
00:03:57,660 –> 00:03:59,160
مشخص کرده ایم که طولانی ترین محدوده چه چیزی
123
00:03:59,160 –> 00:04:01,049
بسیار ساده است،
124
00:04:01,049 –> 00:04:03,180
مطمئنم که می دانید بسیاری از شما بچه
125
00:04:03,180 –> 00:04:04,920
ها می توانید چگونه آن را حل کنید، بنابراین بیایید
126
00:04:04,920 –> 00:04:07,170
این و آن را پاک کنیم، اما
127
00:04:07,170 –> 00:04:09,540
مشکل آن راه حل است. این است که اجرا می شود n زمان ورود به سیستم،
128
00:04:09,540 –> 00:04:11,519
زیرا ما باید در واقع
129
00:04:11,519 –> 00:04:13,769
ابتدا لیست را مرتب کنیم و به خوبی که فقط
130
00:04:13,769 –> 00:04:15,269
زمان زیادی می برد، آیا راهی وجود دارد که
131
00:04:15,269 –> 00:04:17,000
بتوانیم این کار را بدون مرتب کردن لیست به
132
00:04:17,000 –> 00:04:20,040
خوبی انجام دهیم، من شما را از طریق راه حل خود راهنمایی می کنم
133
00:04:20,040 –> 00:04:21,478
که همچنین راه حلی
134
00:04:21,478 –> 00:04:24,210
که بچه های متخصص الگوریتم در آن استفاده می کنند و می
135
00:04:24,210 –> 00:04:25,639
توانید آن را اینجا ببینید و ما آن را در مرحله دوم کدگذاری می کنیم
136
00:04:25,639 –> 00:04:28,340
که در زمان خطی اجرا می شود، در
137
00:04:28,340 –> 00:04:30,319
واقع نیازی به مرتب
138
00:04:30,319 –> 00:04:32,599
کردن لیست ندارد، به روشی که ما این کار را انجام می دهیم
139
00:04:32,599 –> 00:04:34,759
استفاده از چیزی است. جدول هش نامیده می شود
140
00:04:34,759 –> 00:04:36,620
اکنون جدول هش در پایتون
141
00:04:36,620 –> 00:04:38,150
همان دیکشنری است، اما من
142
00:04:38,150 –> 00:04:39,560
در اینجا آن را جدول هش می نامم زیرا این یک
143
00:04:39,560 –> 00:04:41,689
اصطلاح رسمی تر برای آن است، کاری که من با
144
00:04:41,689 –> 00:04:43,759
آن شروع می کنم بارگذاری همه موارد است.
145
00:04:43,759 –> 00:04:45,620
این اعداد در یک جدول هش حالا
146
00:04:45,620 –> 00:04:47,090
با خود فکر کنید چرا ممکن است این کار را انجام دهم
147
00:04:47,090 –> 00:04:49,789
در حالی که این اعداد را می نویسم چرا
148
00:04:49,789 –> 00:04:51,680
می خواهم همه این اعداد را در یک جدول هش
149
00:04:51,680 –> 00:04:54,830
150
00:04:54,830 –> 00:04:56,840
کنم.
151
00:04:56,840 –> 00:04:58,069
بهخوبی کلیدی است که در این
152
00:04:58,069 –> 00:04:59,960
مورد من از صفر به عنوان استفاده میکنم
153
00:04:59,960 –> 00:05:01,819
کلید را به عنوان مقدار همه این
154
00:05:01,819 –> 00:05:04,189
کلیدها در جدول هش خود شروع کنم و از خود بپرسید
155
00:05:04,189 –> 00:05:06,889
که چرا ممکن است چنین کاری انجام دهم
156
00:05:06,889 –> 00:05:08,300
چرا باید از عدد صفر یا شاید
157
00:05:08,300 –> 00:05:11,060
نادرست یا شاید درست استفاده کنم چرا ممکن است از آن
158
00:05:11,060 –> 00:05:13,159
به عنوان کلید استفاده کنم.
159
00:05:13,159 –> 00:05:14,240
ذخیره کردن همه این اعداد در
160
00:05:14,240 –> 00:05:17,150
جدول هش یک بار جستجو است، اکنون
161
00:05:17,150 –> 00:05:19,400
منظور من از این است که بفهمم آیا
162
00:05:19,400 –> 00:05:21,110
عنصری در یک لیست وجود دارد یا خیر، شما را به
163
00:05:21,110 –> 00:05:23,449
شما خواهد برد و دلیل آن این است
164
00:05:23,449 –> 00:05:24,680
که شما باید همه چیز را بررسی کنید.
165
00:05:24,680 –> 00:05:25,759
عناصر مختلف در لیست برای
166
00:05:25,759 –> 00:05:27,770
تعیین وجود عنصر خاصی
167
00:05:27,770 –> 00:05:29,990
168
00:05:29,990 –> 00:05:32,839
169
00:05:32,839 –> 00:05:34,490
170
00:05:34,490 –> 00:05:36,800
171
00:05:36,800 –> 00:05:39,110
از آن عدد به چپ و راست برو،
172
00:05:39,110 –> 00:05:42,080
پس برو 10 برو 12 و فقط بشمار که
173
00:05:42,080 –> 00:05:44,509
چند بار و چقدر می توانم بروم تا
174
00:05:44,509 –> 00:05:45,800
به نقطه ای برسم که هیچ یک از آن
175
00:05:45,800 –> 00:05:48,139
اعداد در جدول هش من نباشد، می دانم
176
00:05:48,139 –> 00:05:49,370
که شما هنوز در حال حاضر گیج هستید.
177
00:05:49,370 –> 00:05:50,599
بدیهی است که ما یک
178
00:05:50,599 –> 00:05:52,460
امتحان مفصل را پشت سر خواهیم گذاشت لطفاً و آن را توضیح دهید، اما
179
00:05:52,460 –> 00:05:54,529
چیزی که ما در برنامه خود
180
00:05:54,529 –> 00:05:56,270
خواهیم داشت این است که یک چپ و راست را پیگیری می کنیم،
181
00:05:56,270 –> 00:05:59,300
اکنون چپ و
182
00:05:59,300 –> 00:06:01,219
راست تقریباً با
183
00:06:01,219 –> 00:06:02,689
عدد چپ در دنباله های خود می گویند و
184
00:06:02,689 –> 00:06:04,039
با عدد مناسب در دنبالههایمان،
185
00:06:04,039 –> 00:06:05,779
اینها را طوری تنظیم میکنیم تا
186
00:06:05,779 –> 00:06:07,550
بزرگترین محدوده را منعکس کنیم، همانطور که از این
187
00:06:07,550 –> 00:06:09,349
اعداد عبور میکنیم، اکنون با سمت چپ
188
00:06:09,349 –> 00:06:11,270
برابر صفر و راست برابر صفر
189
00:06:11,270 –> 00:06:13,279
شروع میکنیم، اگر شما بچهها در همان ابتدا بزرگترین
190
00:06:13,279 –> 00:06:15,919
محدوده ما فقط یک عدد که
191
00:06:15,919 –> 00:06:17,599
اولین عدد در لیست است و
192
00:06:17,599 –> 00:06:19,580
صرفاً به این دلیل است که ما نمی دانیم
193
00:06:19,580 –> 00:06:21,259
هنوز آن را بررسی نکرده ایم که یک
194
00:06:21,259 –> 00:06:23,689
مقدار پیش فرض است، بنابراین نوع
195
00:06:23,689 –> 00:06:25,909
الگوریتم من چیزی است که می خواهم انجام دهم این است که
196
00:06:25,909 –> 00:06:27,649
می روم برای نگاه کردن به هر عدد در لیست،
197
00:06:27,649 –> 00:06:28,909
تا زمان
198
00:06:28,909 –> 00:06:31,219
های پایانی لیست را طی کنیم و کاری که می
199
00:06:31,219 –> 00:06:33,080
خواهم انجام دهم این است که یک اشاره گر چپ
200
00:06:33,080 –> 00:06:35,269
و یک اشاره گر راست ایجاد می کنم که برابر
201
00:06:35,269 –> 00:06:36,889
با اعداد مستقیماً بالا هستند و درست
202
00:06:36,889 –> 00:06:39,050
زیر سمت چپ، بنابراین در این مورد 12
203
00:06:39,050 –> 00:06:40,699
و در این مورد 10 و من می روم na
204
00:06:40,699 –> 00:06:43,129
به انشعاب آن
205
00:06:43,129 –> 00:06:44,090
به سمت چپ و راست
206
00:06:44,090 –> 00:06:46,520
ادامه دهید تا زمانی که به نقطهای برسم که اعداد
207
00:06:46,520 –> 00:06:49,580
اینجا دیگر در جدول هش نیستند یا
208
00:06:49,580 –> 00:06:53,240
در این لیست وجود ندارند، بنابراین
209
00:06:53,240 –> 00:06:55,550
الگوریتم اصلی نگاه به سمت چپ است
210
00:06:55,550 –> 00:06:57,620
. درست است، بنابراین من به سمت چپ نگاه می
211
00:06:57,620 –> 00:06:59,810
کنم و می خواهم ببینم که آیا 10 در جدول هش من وجود دارد یا خیر،
212
00:06:59,810 –> 00:07:01,520
در این مورد
213
00:07:01,520 –> 00:07:03,409
، من به جدول هش خود نگاه می کنم در مورد زمان جستجوی a1
214
00:07:03,409 –> 00:07:05,090
که اصلاً زمان نمی برد و
215
00:07:05,090 –> 00:07:07,250
من 10 را نمی بینم، پس کاری که انجام می دهم این است که می گویم
216
00:07:07,250 –> 00:07:07,669
خوب،
217
00:07:07,669 –> 00:07:10,190
نمی توانیم از 11 به سمت چپ برویم، دیگر
218
00:07:10,190 –> 00:07:11,960
اعدادی در دنباله 11 باقی نمانده است،
219
00:07:11,960 –> 00:07:15,229
بیایید به راست برویم و به 12 خوب نگاه
220
00:07:15,229 –> 00:07:16,970
کنیم، اکنون به دنبال 12 هستیم و واضح است که
221
00:07:16,970 –> 00:07:19,009
ما در این جدول هش نگاه می کنیم 12 را نمی بینیم،
222
00:07:19,009 –> 00:07:21,050
پس چه کنیم، می گوییم خوب، نمی توانیم
223
00:07:21,050 –> 00:07:23,180
درست برویم و این به چه معناست اکنون
224
00:07:23,180 –> 00:07:25,759
ما از 11 بازدید کرده ایم، به 11 نگاه کرده
225
00:07:25,759 –> 00:07:27,440
ایم و مشخص کرده ایم که بزرگترین
226
00:07:27,440 –> 00:07:29,120
دنباله ای که 11 بخشی از آن
227
00:07:29,120 –> 00:07:31,669
خواهد بود، فقط خودش خواهد بود و دلیل اینکه می توانیم به
228
00:07:31,669 –> 00:07:33,380
طور قطع بگوییم این است که اگر
229
00:07:33,380 –> 00:07:36,020
یک 10 وجود داشت یا اگر یک 12 وجود داشت،
230
00:07:36,020 –> 00:07:37,159
ما w اگر آن را پیدا میکردیم،
231
00:07:37,159 –> 00:07:38,629
آن را در جدول هش میدیدیم و
232
00:07:38,629 –> 00:07:40,009
میتوانستیم تعیین کنیم که ok به
233
00:07:40,009 –> 00:07:41,810
طور بالقوه 11 میتواند در یک
234
00:07:41,810 –> 00:07:43,759
دنباله طولانیتر باشد، اما در اینجا از آنجایی که هیچ 10 مورد از
235
00:07:43,759 –> 00:07:45,530
11 وجود ندارد، مهم نیست که بزرگترین
236
00:07:45,530 –> 00:07:48,319
دنباله 11 چیست. be in خودش است، بنابراین
237
00:07:48,319 –> 00:07:50,449
کاری که اکنون انجام میدهیم این است
238
00:07:50,449 –> 00:07:53,750
که به جدول هش خود که 11 را پیدا میکنیم،
239
00:07:53,750 –> 00:07:56,659
آن را با 1 پایین علامتگذاری میکنیم و فقط میگوییم که
240
00:07:56,659 –> 00:07:58,219
تا به حال به 11 نگاه کردهایم، هیچ
241
00:07:58,219 –> 00:07:59,960
فایدهای ندارد که دوباره به 11 نگاه کنیم.
242
00:07:59,960 –> 00:08:01,639
قبلاً انجام دادهام، این
243
00:08:01,639 –> 00:08:02,900
برای 11 خیلی مهم نیست، اما میبینید که آیا
244
00:08:02,900 –> 00:08:04,400
این را یک ثانیه علامتگذاری میکنید که به
245
00:08:04,400 –> 00:08:06,139
7 میرسد و چه نوع سرعتی از این طریق
246
00:08:06,139 –> 00:08:07,130
در حال حاضر، زیرا فکر میکنم شما در حال انجام
247
00:08:07,130 –> 00:08:08,630
آن هستید و ما. همان کاری
248
00:08:08,630 –> 00:08:11,240
را انجام می دهیم که به سمت چپ نگاه می کنیم، بنابراین برای رابطه جنسی،
249
00:08:11,240 –> 00:08:14,210
اکنون برای 8 مورد درست نگاه می کنیم، در این مورد
250
00:08:14,210 –> 00:08:17,569
، هیچ کدام از آنها را درست نمی یابیم، بنابراین
251
00:08:17,569 –> 00:08:19,159
همان کاری که در اینجا انجام می دهیم این است که
252
00:08:19,159 –> 00:08:21,469
خوب می دانیم که 7 نمی تواند بخشی
253
00:08:21,469 –> 00:08:22,909
از دنباله باشد، بنابراین کاری که ما می خواهیم انجام دهیم این است که
254
00:08:22,909 –> 00:08:26,210
یک علامت 1 را علامت گذاری کنیم، اکنون فراموش کردم که بگویم با آن چه
255
00:08:26,210 –> 00:08:27,349
می کنیم در اینجا متغیر چپ و راست
256
00:08:27,349 –> 00:08:29,300
است و اساساً کاری که
257
00:08:29,300 –> 00:08:31,069
ما میخواهیم انجام دهیم این است که وقتی به
258
00:08:31,069 –> 00:08:33,770
چپ و راست میرویم، بررسی میکنیم که آیا
259
00:08:33,770 –> 00:08:35,929
فاصله چپ و راست بیشتر
260
00:08:35,929 –> 00:08:37,159
از چپ و راست فعلی است
261
00:08:37,159 –> 00:08:38,750
که در این مورد داریم. بدیهی است که 0 0
262
00:08:38,750 –> 00:08:40,820
تفاوت بین آنها 0 است، بنابراین هر دو
263
00:08:40,820 –> 00:08:43,159
عدد چپ و راست به ما
264
00:08:43,159 –> 00:08:45,260
اختلاف بیشتری می دهند، بنابراین در این مورد، زمانی
265
00:08:45,260 –> 00:08:48,260
که می دانیم با عدد اول 11
266
00:08:48,260 –> 00:08:49,940
داشتیم، در واقع می گوییم که سمت چپ
267
00:08:49,940 –> 00:08:51,740
11 خواهد بود و درست 11 خواهد بود،
268
00:08:51,740 –> 00:08:52,230
زیرا این
269
00:08:52,230 –> 00:08:53,610
بزرگترین دنباله ای است که ما در حال حاضر می دانیم
270
00:08:53,610 –> 00:08:56,760
که فقط 11 است، به هفت چیز مشابه می رسیم،
271
00:08:56,760 –> 00:08:58,800
بنابراین هفت دنباله طولی یکسان
272
00:08:58,800 –> 00:09:00,900
با 11 است، می دانیم که
273
00:09:00,900 –> 00:09:02,730
هرگز دو دنباله با
274
00:09:02,730 –> 00:09:04,830
طول یکسان از دنباله حداکثر وجود نخواهد داشت. من می توانم
275
00:09:04,830 –> 00:09:06,750
تصمیم بگیرم که اینها را به عنوان 11 بگذارم یا
276
00:09:06,750 –> 00:09:09,240
می توانم آنها را به عنوان 7 قرار دهم. اگر بخواهم یک مجموعه را تغییر دهم، می توانم آن متغیر را تغییر
277
00:09:09,240 –> 00:09:11,280
دهم، اما به هر حال
278
00:09:11,280 –> 00:09:12,780
، اکنون به 3 برویم و توضیح دهیم که
279
00:09:12,780 –> 00:09:15,330
چگونه کار می کند، بنابراین اکنون در 3 هستیم.
280
00:09:15,330 –> 00:09:16,590
قبلاً به 11 نگاه کرده ایم ما قبلاً
281
00:09:16,590 –> 00:09:18,120
به 7 نگاه کرده ایم به این نتیجه رسیدم که
282
00:09:18,120 –> 00:09:19,860
اینها بخشی از یک دنباله طولانی تر
283
00:09:19,860 –> 00:09:21,660
از خودشان نیستند و کاری که من اکنون انجام می دهم
284
00:09:21,660 –> 00:09:23,280
این است که همان کار را از 3 انجام دهم
285
00:09:23,280 –> 00:09:26,970
، به 2 و 4 نگاه خواهم کرد، اما در
286
00:09:26,970 –> 00:09:29,850
این مورد هر دو 2 و 4 در واقع در
287
00:09:29,850 –> 00:09:32,760
جدول هش من وجود دارد، بنابراین در اینجا می توانم ببینم که 4 وجود دارد
288
00:09:32,760 –> 00:09:34,860
و می توانم ببینم که 2 وجود دارد، بنابراین کاری که
289
00:09:34,860 –> 00:09:36,690
من انجام می دهم این است که از آنجایی که من واقعا وجود دارم،
290
00:09:36,690 –> 00:09:38,580
آنها را به عنوان این واقعیت که آنها را دیده ام علامت گذاری می کنم.
291
00:09:38,580 –> 00:09:40,110
میخواهم بگویم که
292
00:09:40,110 –> 00:09:42,900
در حال حاضر در این مقطع زمانی،
293
00:09:42,900 –> 00:09:45,090
میدانید که مقدار سمت چپ من 2 خواهد بود و
294
00:09:45,090 –> 00:09:47,070
مقدار سمت راست من برای
295
00:09:47,070 –> 00:09:48,720
خندههای موقت من است، مقدار راست موقت
296
00:09:48,720 –> 00:09:50,730
من 2 خواهد بود و مقدار آن 4 خواهد بود و
297
00:09:50,730 –> 00:09:52,110
دلیل آن این به این دلیل
298
00:09:52,110 –> 00:09:53,880
است که من در حال حاضر در سمت چپ هستم
299
00:09:53,880 –> 00:09:55,140
و در حال حاضر در
300
00:09:55,140 –> 00:09:56,340
سمت راست هستم و این دنباله فعلی است
301
00:09:56,340 –> 00:09:59,040
که ما 2 3 4 را داریم درست است، بنابراین اکنون می
302
00:09:59,040 –> 00:10:01,260
گوییم خوب است، ما 2 را پیدا کردیم، 4 را پیدا کردیم، پس
303
00:10:01,260 –> 00:10:03,210
بیایید سعی کنید دوباره به هر دو طرف بروید، بنابراین
304
00:10:03,210 –> 00:10:06,000
بیایید به 5 برویم و به 1
305
00:10:06,000 –> 00:10:07,830
برویم، بدیهی است که می دانیم 5 وجود ندارد،
306
00:10:07,830 –> 00:10:09,360
بنابراین ما می رویم nna در آن مسیر به آنجا ختم می شود،
307
00:10:09,360 –> 00:10:11,700
یعنی 4 به عنوان عنصر مناسب ما باقی می ماند،
308
00:10:11,700 –> 00:10:14,760
سپس به یکی از
309
00:10:14,760 –> 00:10:16,350
آنها نگاه می کنیم، اکنون به جدول هش خود نگاه می کنیم،
310
00:10:16,350 –> 00:10:18,000
یکی را پیدا می کنیم، پس چه کار کنیم،
311
00:10:18,000 –> 00:10:20,010
1 را علامت گذاری می کنیم، بنابراین ما می خواهیم بگویید ما به
312
00:10:20,010 –> 00:10:23,070
1 نگاه کرده ایم، بیایید آن را علامت گذاری کنیم تا این کار را انجام دهیم و
313
00:10:23,070 –> 00:10:25,680
سپس می دانید که سمت چپ ما اکنون
314
00:10:25,680 –> 00:10:28,680
روی 1 خواهد بود، زیرا این جریان برای
315
00:10:28,680 –> 00:10:30,030
این نقطه سمت چپی است که داریم و می گوییم خوب،
316
00:10:30,030 –> 00:10:31,860
اجازه دهید در 1 متوقف نشویم، ادامه دهیم.
317
00:10:31,860 –> 00:10:34,530
بیایید به 0 برویم خوب بیایید به دنبال
318
00:10:34,530 –> 00:10:37,050
0 باشیم خوب ما پیدا کردیم 0 اینجا پایین است، پس چه
319
00:10:37,050 –> 00:10:40,380
کار کنیم، 0 را علامت گذاری می کنیم، به آن 1 می دهیم، بیایید این
320
00:10:40,380 –> 00:10:42,450
کار را انجام دهیم و سپس تمام این علامت گذاری
321
00:10:42,450 –> 00:10:44,580
ها 3 بعد از آن است، اساساً نمی
322
00:10:44,580 –> 00:10:45,960
دانید که ما نمیتوانیم برویم
323
00:10:45,960 –> 00:10:47,550
دنبال منفی 1 میگردیم، میبینیم
324
00:10:47,550 –> 00:10:49,050
منفی 1 وجود ندارد، پس پایان
325
00:10:49,050 –> 00:10:50,910
میدهیم، علامت 3 میگذاریم این واقعیت است که
326
00:10:50,910 –> 00:10:53,750
آن را دیدهایم، پس بیایید انجام دهیم این اکنون و
327
00:10:53,750 –> 00:10:55,890
اکنون کاری که ما میخواهیم انجام دهیم این است که
328
00:10:55,890 –> 00:10:58,200
به شماره بعدی میرویم تا همه اینها را
329
00:10:58,200 –> 00:11:00,180
بدانید که میتوانیم آن را خط بزنیم، ما فقط
330
00:11:00,180 –> 00:11:02,370
سه کار را انجام دادیم، هفت را انجام دادیم،
331
00:11:02,370 –> 00:11:04,950
11 را انجام دادیم. انجام 4 اما th نکته این
332
00:11:04,950 –> 00:11:06,600
است که ما نیازی به انجام 4 نداریم زیرا
333
00:11:06,600 –> 00:11:08,310
قبلاً مشخص کرده ایم که 4 بخشی از یک
334
00:11:08,310 –> 00:11:10,350
دنباله است که قبلاً
335
00:11