در این مطلب، ویدئو Leetcode – طراحی HashSet (Python) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:05:23
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,480 –> 00:00:02,639
به چالش آگوست leeco خوش آمدید
2
00:00:02,639 –> 00:00:04,960
مشکل امروز طراحی مجموعه هش طراحی
3
00:00:04,960 –> 00:00:07,279
مجموعه هش بدون استفاده از کتابخانه های جدول هش است،
4
00:00:07,279 –> 00:00:08,639
5
00:00:08,639 –> 00:00:11,280
ما می خواهیم بتوانیم
6
00:00:11,280 –> 00:00:13,120
اگر مقدار در این مجموعه هش وجود دارد یک بررسی ارزش اضافه کنیم
7
00:00:13,120 –> 00:00:13,920
8
00:00:13,920 –> 00:00:16,239
و همچنین آن را از مجموعه هش خود حذف کنیم و
9
00:00:16,239 –> 00:00:17,680
به خاطر بسپاریم. این یک مجموعه هش است
10
00:00:17,680 –> 00:00:21,680
نه یک فرهنگ لغت یا جدول هش،
11
00:00:21,680 –> 00:00:23,680
اکنون همه مقادیر در محدوده
12
00:00:23,680 –> 00:00:24,960
صفر تا
13
00:00:24,960 –> 00:00:27,439
یک میلیون و تعداد عملیات
14
00:00:27,439 –> 00:00:29,279
از یک تا ده هزار خواهد بود،
15
00:00:29,279 –> 00:00:32,640
بنابراین فوراً این کلید در اینجا است با
16
00:00:32,640 –> 00:00:34,320
همه مقادیر در محدوده از صفر تا
17
00:00:34,320 –> 00:00:35,760
یک میلیون
18
00:00:35,760 –> 00:00:38,000
میتوانیم یک روش brute force انجام دهیم و
19
00:00:38,000 –> 00:00:40,320
به سادگی فهرستی
20
00:00:40,320 –> 00:00:42,480
به طول یک میلیون ایجاد کنیم و هر
21
00:00:42,480 –> 00:00:43,360
یک از آن
22
00:00:43,360 –> 00:00:45,920
نقاط نشاندهنده
23
00:00:45,920 –> 00:00:47,920
وجود یا عدم وجود مقدار باشد، بنابراین ما میتوانیم
24
00:00:47,920 –> 00:00:49,200
خیلی سریع
25
00:00:49,200 –> 00:00:52,480
این کار را انجام دهیم. آرایه self برابر است با
26
00:00:52,480 –> 00:00:55,600
هیچ در محدوده
27
00:00:55,600 –> 00:00:58,800
1 میلیون
28
00:00:58,800 –> 00:01:01,120
و اگر ما آن را بخواهیم ابتدا یک حاوی انجام می دهیم
29
00:01:01,120 –> 00:01:01,920
30
00:01:01,920 –> 00:01:05,600
و می گوییم
31
00:01:06,159 –> 00:01:09,600
آرایه خود را از کلید برگردانده است،
32
00:01:09,600 –> 00:01:11,280
بنابراین اگر حاوی آن باشد یک true برمی گرداند در
33
00:01:11,280 –> 00:01:13,200
غیر این صورت هیچ را برمی گرداند.
34
00:01:13,200 –> 00:01:14,720
نادرست را برگردانید
35
00:01:14,720 –> 00:01:18,799
و میتوانیم بگوییم اگر خود نقطه
36
00:01:18,799 –> 00:01:24,320
حاوی کلید باشد یا اگر حاوی کلید نباشد
37
00:01:24,960 –> 00:01:28,240
، این آرایه را میگیریم
38
00:01:28,240 –> 00:01:31,520
و برابر با true میکنیم، همچنین میتوانیم عکس این
39
00:01:31,520 –> 00:01:32,720
کار را برای حذف
40
00:01:32,720 –> 00:01:36,000
اگر حاوی کلید است انجام
41
00:01:36,400 –> 00:01:40,479
دهیم، سپس آرایه را به مساوی بازنشانی میکنیم.
42
00:01:40,479 –> 00:01:43,680
بازگشت به هیچ یا نادرست برای این
43
00:01:43,680 –> 00:01:45,600
موضوع واقعاً مهم نیست
44
00:01:45,600 –> 00:01:48,000
و این مانند روش brute force است
45
00:01:48,000 –> 00:01:48,960
46
00:01:48,960 –> 00:01:51,439
که کار می کند اما بدیهی است که حافظه غیر
47
00:01:51,439 –> 00:01:53,200
ضروری زیادی از شما می
48
00:01:53,200 –> 00:01:54,560
گیرد. ما
49
00:01:54,560 –> 00:01:57,840
این لیست کامل از یک میلیون فهرست را ایجاد خواهیم کرد.
50
00:01:57,840 –> 00:02:00,320
زمانی که ممکن است لازم نباشد تا
51
00:02:00,320 –> 00:02:02,920
بتوانیم
52
00:02:02,920 –> 00:02:04,079
[موسیقی] را کاهش دهیم
53
00:02:04,079 –> 00:02:06,640
، این را به سطل ها تقسیم کنید و
54
00:02:06,640 –> 00:02:07,680
هزار سطل
55
00:02:07,680 –> 00:02:12,000
از احتمالاً 1000
56
00:02:12,000 –> 00:02:15,360
نقطه بسازید، بنابراین کاری که من انجام می دهم
57
00:02:15,360 –> 00:02:19,680
ایجاد لیستی از لیست ها
58
00:02:19,840 –> 00:02:23,360
برای محدوده 1000 و کاری که ما انجام خواهیم داد این
59
00:02:23,360 –> 00:02:27,200
است که از یک تابع ماژولار برای بررسی
60
00:02:27,200 –> 00:02:29,520
هر یک از این شاخص ها استفاده کنیم که هر یک
61
00:02:29,520 –> 00:02:31,680
از این سطل ها
62
00:02:31,680 –> 00:02:35,599
از 0 تا 1000 را نشان می دهند و بین
63
00:02:35,599 –> 00:02:37,680
آن ها نیز یک تا هزار
64
00:02:37,680 –> 00:02:39,360
وجود دارد تا ببینیم