در این مطلب، ویدئو کندترین کلید | LeetCode 1629 | تئوری + کد پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:05:38
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,500 –> 00:00:06,879
[موسیقی]
2
00:00:06,879 –> 00:00:08,960
سلام به همه و به ویدیوی دیگری خوش آمدید،
3
00:00:08,960 –> 00:00:10,800
بنابراین امروز میخواهیم
4
00:00:10,800 –> 00:00:13,440
آهستهترین کلید سؤال leeco را به درستی شروع کنیم،
5
00:00:13,440 –> 00:00:14,880
بنابراین در این سؤال ما یک
6
00:00:14,880 –> 00:00:17,359
صفحهکلید جدید طراحی شدهایم که در
7
00:00:17,359 –> 00:00:20,000
آن آزمایشکننده، دنبالهای از n کلید را فشار داده است.
8
00:00:20,000 –> 00:00:22,640
هر بار یک
9
00:00:22,640 –> 00:00:25,599
کلید رشته ای با طول n به شما داده می شود که در
10
00:00:25,599 –> 00:00:28,080
آن کلید i فشار داده شده بود، کلید i در دنباله آزمایش فشار داده
11
00:00:28,080 –> 00:00:30,720
شده بود و یک لیست مرتب شده و
12
00:00:30,720 –> 00:00:33,280
زمان های انتشار که زمان انتشار من
13
00:00:33,280 –> 00:00:35,840
زمانی بود که کلید i در هر دو قسمت آزاد شد.
14
00:00:35,840 –> 00:00:38,480
ایندکس صفر هستند، بنابراین کلید صفر
15
00:00:38,480 –> 00:00:40,239
در زمان صفر فشار داده شد و هر
16
00:00:40,239 –> 00:00:42,800
صف بعدی فشار داده شد دقیقاً
17
00:00:42,800 –> 00:00:44,559
خوب فشار دهید زمان دقیق رها شدن
18
00:00:44,559 –> 00:00:46,239
کلید قبلی، بنابراین
19
00:00:46,239 –> 00:00:48,399
در واقع به چه معناست، بنابراین به عبارت ساده ما
20
00:00:48,399 –> 00:00:51,280
کلید را فشار داده ایم و c b c d دارد پس چه
21
00:00:51,280 –> 00:00:53,520
این به ما می گوید که ابتدا حرف
22
00:00:53,520 –> 00:00:55,360
c فشار داده شد و سپس b و سپس c و
23
00:00:55,360 –> 00:00:58,320
سپس d دوباره خوب است و اکنون این
24
00:00:58,320 –> 00:01:00,559
زمان های انتشار اساساً
25
00:01:00,559 –> 00:01:03,280
زمان های تجمعی را جمع می کند که در آن هر
26
00:01:03,280 –> 00:01:05,519
کلید آزاد شده است بنابراین اساساً c
27
00:01:05,519 –> 00:01:08,080
آزاد شد d در علامت نه ثانیه، پس چه
28
00:01:08,080 –> 00:01:10,640
مدت c را فشار داد، بنابراین از صفر تا
29
00:01:10,640 –> 00:01:12,560
نه ثانیه خوب است که در مجموع نه
30
00:01:12,560 –> 00:01:14,400
ثانیه است، بنابراین c برای نه ثانیه فشار داده شد،
31
00:01:14,400 –> 00:01:16,159
حالا چطور b
32
00:01:16,159 –> 00:01:19,840
بنابراین b در 29 ثانیه آزاد شد، خوب اما
33
00:01:19,840 –> 00:01:21,759
اکنون سوال این است که b
34
00:01:21,759 –> 00:01:24,080
برای چه مدت فشار داده شده است، بنابراین b
35
00:01:24,080 –> 00:01:26,400
بلافاصله پس از آزاد شدن c فشرده شد،
36
00:01:26,400 –> 00:01:30,000
بنابراین از 9 تا 29 زمانی بود که b
37
00:01:30,000 –> 00:01:32,400
آماده شد، بنابراین به عبارت ساده فقط 29
38
00:01:32,400 –> 00:01:35,600
منهای 9 b به مدت 20 ثانیه به
39
00:01:35,600 –> 00:01:39,040
همان روش c فشار داده شد. به مدت 49 منهای 29
40
00:01:39,040 –> 00:01:41,600
ثانیه فشار داده شد و d به مدت 50 منهای 49 ثانیه فشار داده شد
41
00:01:41,600 –> 00:01:43,759
که این همان چیزی است که
42
00:01:43,759 –> 00:01:46,079
اکنون هدف از این کار این است که
43
00:01:46,079 –> 00:01:48,960
ما کلید فشار کلیدی را
44
00:01:48,960 –> 00:01:51,680
که طولانیترین مدت زمان را داشت برگردانیم، بنابراین هر چیزی
45
00:01:51,680 –> 00:01:54,159
که برای طولانیترین زمان این است
46
00:01:54,159 –> 00:01:56,960
که باید برگردیم، اما اگر
47
00:01:56,960 –> 00:01:58,799
چندین فشار از این قبیل کلیدها وجود داشته باشد، پس به
48
00:01:58,799 –> 00:02:00,399
چه معناست، بنابراین فرض کنید دو
49
00:02:00,399 –> 00:02:02,560
حرف uh a وجود داشت که به مدت 20 ثانیه فشار داده شد
50
00:02:02,560 –> 00:02:04,799
و حرف x که همچنین
51
00:02:04,799 –> 00:02:06,799
برای 20 ثانیه فشار داده شد، سپس در آن
52
00:02:06,799 –> 00:02:08,720
مورد مقداری که قرار است برگردانیم
53
00:02:08,720 –> 00:02:11,440
x خواهد بود زیرا باید
54
00:02:11,440 –> 00:02:14,160
بزرگترین کلید واژگانی
55
00:02:14,160 –> 00:02:15,360
فشار کلید را برگردانیم،
56
00:02:15,360 –> 00:02:17,040
سوال بسیار ساده است و
57
00:02:17,040 –> 00:02:18,720
راهی که ما برای حل آن می خواهیم فقط
58
00:02:18,720 –> 00:02:21,040
با داشتن یک حلقه for ساده است و در
59
00:02:21,040 –> 00:02:22,640
ابتدا می خواهیم
60
00:02:22,640 –> 00:02:24,400
زمانی را مقداردهی کنید که مقدار هر چیزی را
61
00:02:24,400 –> 00:02:26,560
در شاخص صفر زمان انتشار دارد و
62
00:02:26,560 –> 00:02:28,080
یک متغیر
63
00:02:28,080 –> 00:02:29,360
دیگر خواهیم داشت
64
00:02:29,360 –> 00:02:31,519
که نتیجه واقعی
65
00:02:31,519 –> 00:02:33,200
یا کاراکتر را ذخیره می کند و
66
00:02:33,200 –> 00:02:34,800
با هر کاراکتری که اولین
67
00:02:34,800 –> 00:02:37,040
کاراکتر در این باشد مقداردهی اولیه می شود. در مورد c بنابراین در هر
68
00:02:37,040 –> 00:02:38,080
نقطه کاری که میخواهیم انجام دهیم این است
69
00:02:38,080 –> 00:02:40,400
که زمان فشار دادن یک کلید خاص را محاسبه میکنیم
70
00:02:40,400 –> 00:02:43,519
و اگر بیشتر
71
00:02:43,519 –> 00:02:45,760
از زمانی است که قبلاً وجود دارد،
72
00:02:45,760 –> 00:02:47,680
آن را عوض میکنیم و اگر در
73
00:02:47,680 –> 00:02:49,519
هر نقطه ای وجود دارد همانطور که گفتم
74
00:02:49,519 –> 00:02:51,440
دو کاراکتر وجود دارد که
75
00:02:51,440 –> 00:02:53,920
برای یک زمان فشرده شده اند، بزرگتر از دو
76
00:02:53,920 –> 00:02:55,760
کاراکتر
77
00:02:55,760 –> 00:02:58,080
نتیجه واقعی خواهد بود بسیار خوب، ب