1 00:00:00,000 --> 00:00:02,640 [Powered by Google Translate] [سیمینار: تکنیکی انٹرویو] 2 00:00:02,640 --> 00:00:04,630 [KENNY یو، ہارورڈ یونیورسٹی] 3 00:00:04,630 --> 00:00:08,910 [یہ CS50 ہے.] [CS50.TV] 4 00:00:08,910 --> 00:00:12,420 ہیلو، سب، میں KENNY ہوں. میں نے اس وقت ایک جونیئر کا مطالعہ کمپیوٹر سائنس ہوں. 5 00:00:12,420 --> 00:00:17,310 میں ایک سابق CS TF ہوں، اور میں چاہتا ہوں کہ میں نے یہ تھا جب میں ایک underclassman تھا، 6 00:00:17,310 --> 00:00:19,380 اور یہی وجہ ہے کہ میں اس سیمینار کو دے رہا ہوں. 7 00:00:19,380 --> 00:00:21,370 تو مجھے امید ہے کہ آپ اس سے لطف اندوز ہوتے ہیں. 8 00:00:21,370 --> 00:00:23,470 اس سنگوشٹھی میں تکنیکی انٹرویو کے بارے میں ہے، 9 00:00:23,470 --> 00:00:26,650 اور اپنے تمام وسائل اس لنک پر پایا جا سکتا ہے، 10 00:00:26,650 --> 00:00:32,350 یہ ٹھیک ہے یہاں لنک کے وسائل کے ایک جوڑے کی ہے. 11 00:00:32,350 --> 00:00:36,550 لہذا میں مسائل کی ایک فہرست بنا دیا، اصل میں، بہت کچھ مسائل ہیں. 12 00:00:36,550 --> 00:00:40,800 بھی ایک عام وسائل صفحہ جہاں ہم تجاویز حاصل کر سکتے ہیں 13 00:00:40,800 --> 00:00:42,870 ہے کہ کس طرح ایک انٹرویو کے لئے تیار کرنے کے لئے، 14 00:00:42,870 --> 00:00:46,470 آپ کو ایک حقیقی انٹرویو کے دوران کیا کرنا چاہیے تجاویز، 15 00:00:46,470 --> 00:00:51,910 کے ساتھ ساتھ کس طرح مستقبل میں ریفرنس کے لئے مسائل اور وسائل سے رجوع کرنے کا. 16 00:00:51,910 --> 00:00:53,980 یہ تمام آن لائن. 17 00:00:53,980 --> 00:00:58,290 اور صرف اس سیمینار تردید preface، 18 00:00:58,290 --> 00:01:00,690 آپ کے انٹرویو کی تیاری - اس طرح نہیں کرنا چاہئے 19 00:01:00,690 --> 00:01:02,800 اس فہرست تک محدود نہیں کیا جانا چاہئے. 20 00:01:02,800 --> 00:01:04,750 یہ صرف ایک رہنما کا مقصد ہے، 21 00:01:04,750 --> 00:01:08,890 اور آپ سب کچھ میں نمک کی ایک اناج کے ساتھ کہتے ضرور لینا چاہئے، 22 00:01:08,890 --> 00:01:14,620 بلکہ سب کچھ میں آپ کے انٹرویو کی تیاری میں آپ کی مدد کرتے تھے کا استعمال کریں. 23 00:01:14,620 --> 00:01:16,400 >> میں اگلے چند سلائڈز کے ذریعے آپ کی رفتار تیز کرنے جا رہا ہوں 24 00:01:16,400 --> 00:01:18,650 تو ہم اصل کیس اسٹڈیز کے حاصل کرنے کے لئے کر سکتے ہیں. 25 00:01:18,650 --> 00:01:23,630 ایک انٹرویو کے سافٹ ویئر انجینئرنگ postion کے لئے ڈھانچہ، 26 00:01:23,630 --> 00:01:26,320 عام طور پر 30 سے ​​45 منٹ کا ہے، 27 00:01:26,320 --> 00:01:29,810 ایک سے زیادہ راؤنڈ کمپنی پر منحصر ہے. 28 00:01:29,810 --> 00:01:33,090 اکثر آپ کو ایک سفید بورڈ پر کوڈنگ گے. 29 00:01:33,090 --> 00:01:35,960 تو اس طرح، لیکن اکثر ایک چھوٹے پیمانے پر ایک سفید بورڈ. 30 00:01:35,960 --> 00:01:38,540 اگر آپ کو ایک فون انٹرویو کر رہے ہیں، تو شاید آپ کا استعمال کیا جائے گا 31 00:01:38,540 --> 00:01:44,030 یا تو collabedit یا ایک Google Doc تاکہ وہ دیکھ سکتا ہے آپ کو کوڈنگ لائیو 32 00:01:44,030 --> 00:01:46,500 جب تم جا رہا ہے فون پر انٹرویو. 33 00:01:46,500 --> 00:01:48,490 ایک انٹرویو ہی عام طور پر 2 یا 3 مسائل 34 00:01:48,490 --> 00:01:50,620 آپ کے کمپیوٹر سائنس کے علم کی جانچ. 35 00:01:50,620 --> 00:01:54,490 اور یہ کوڈنگ تقریبا یقینی طور پر شامل ہوں گے. 36 00:01:54,490 --> 00:01:59,540 سوالات کے اقسام ہیں کہ آپ دیکھیں گے عام طور پر ڈیٹا ڈھانچے اور الگورتھم ہیں. 37 00:01:59,540 --> 00:02:02,210 اور مسائل کی ان اقسام کو کرنے میں، 38 00:02:02,210 --> 00:02:07,830 وہ آپ سے پوچھتا ہوں، اچھا لگے گا، وقت اور خلائی پیچیدگی، بڑا O کیا ہے؟ 39 00:02:07,830 --> 00:02:09,800 ، اکثر وہ بھی سوال اعلی سطح کی طلب 40 00:02:09,800 --> 00:02:12,530 ایسا ہے، تو ایک ایسا نظام ڈیزائن، 41 00:02:12,530 --> 00:02:14,770 آپ کو کس طرح اپنے کوڈ ڈال دیں گے؟ 42 00:02:14,770 --> 00:02:18,370 کیا انٹرفیس، کیا کلاس، کیا ماڈیول آپ کو آپ کے سسٹم میں کیا ہے، 43 00:02:18,370 --> 00:02:20,900 اور کس طرح ایک دوسرے کے ساتھ بات چیت کرتے ہیں؟ 44 00:02:20,900 --> 00:02:26,130 تو ڈیٹا ڈھانچے اور الگورتھم کے ساتھ کے طور پر ڈیزائن نظام ہے. 45 00:02:26,130 --> 00:02:29,180 >> کچھ عام تجاویز اس سے پہلے کہ ہم ہمارے کیس اسٹڈیز میں کودو. 46 00:02:29,180 --> 00:02:32,300 مجھے لگتا ہے کہ سب سے اہم حکمرانی ہمیشہ زور سے سوچ. 47 00:02:32,300 --> 00:02:36,980 انٹرویو آپ اپنی سوچ کے عمل کو دکھانے کا موقع سمجھا جاتا ہے. 48 00:02:36,980 --> 00:02:39,820 انٹرویو کا کیا مطلب ہے انٹرویو کے لئے اندازہ لگانے کے 49 00:02:39,820 --> 00:02:42,660 آپ کو لگتا ہے کہ کس طرح اور کس طرح آپ کو کوئی مسئلہ کے ذریعے جانا. 50 00:02:42,660 --> 00:02:45,210 سب سے بری چیز ہے جو آپ کر سکتے ہیں پورے انٹرویو کے دوران خاموش ہو ہے. 51 00:02:45,210 --> 00:02:50,090 یہ اچھا نہیں ہے. 52 00:02:50,090 --> 00:02:53,230 جب آپ نے ایک سوال کے جواب میں دیا جاتا ہے، آپ کو بھی اس بات کا یقین کر لیں کہ آپ سوال سمجھتے ہیں بنانے کے لئے چاہتے ہیں. 53 00:02:53,230 --> 00:02:55,350 تو آپ کے اپنے الفاظ میں سوال واپس دوبارہ 54 00:02:55,350 --> 00:02:58,920 اور کوشش مکمل چند آسان ٹیسٹ کے مقدمات کو کام کرنے کی 55 00:02:58,920 --> 00:03:01,530 اس بات کا یقین کر لیں کہ آپ سوال سمجھتے ہیں بنانے کے لئے. 56 00:03:01,530 --> 00:03:05,510 چند ٹیسٹ کے مقدمات کے ذریعے کام کرنا تم نے کس طرح اس مسئلہ کو حل کرنے کے ایک انترجشتھان دے گا. 57 00:03:05,510 --> 00:03:11,210 آپ کو چند نمونوں کی مدد آپ کو مسئلے کو حل کرنے کے لئے بھی دریافت کر سکتے ہیں. 58 00:03:11,210 --> 00:03:14,500 ان کی بڑی ٹپ مایوس نہیں کرنے کی ہے. 59 00:03:14,500 --> 00:03:17,060 کیا مایوس نہ ہو. 60 00:03:17,060 --> 00:03:19,060 انٹرویو چیلنج ہیں، لیکن سب سے بری چیز ہے جو آپ کر سکتے ہیں، 61 00:03:19,060 --> 00:03:23,330 خاموش ہونے کے علاوہ میں، واضح طور پر مایوس ہے. 62 00:03:23,330 --> 00:03:27,410 آپ کو ایک انٹرویو میں اس تاثر نہیں دینا چاہتا. 63 00:03:27,410 --> 00:03:33,960 ایک بات یہ ہے کہ آپ - اس لئے، بہت سے لوگ، جب انہوں نے ایک انٹرویو میں جانا 64 00:03:33,960 --> 00:03:37,150 وہ سب سے بہترین حل سب سے پہلے تلاش کرنے کی کوشش کرنے کی کوشش، 65 00:03:37,150 --> 00:03:39,950 جب سچ میں، وہاں عام طور پر ہے ایک glaringly واضح حل ہے. 66 00:03:39,950 --> 00:03:43,500 یہ سست ہو سکتا ہے، غیر فعال ہو، لیکن آپ اسے صرف بیان کرنا چاہئے ہو سکتا ہے، 67 00:03:43,500 --> 00:03:46,210 بہت جس سے بہتر کام کرنے میں آپ کو ایک نقطہ اغاز ہے. 68 00:03:46,210 --> 00:03:48,270 اس کے علاوہ، حل کی طرف اشارہ کرتے ہوئے سست کے معاملے میں ہے، 69 00:03:48,270 --> 00:03:52,160 بڑا O وقت پیچیدگی یا خلا پیچیدگی، 70 00:03:52,160 --> 00:03:54,450 انٹرویو کہ آپ سمجھتے ہیں کا مظاہرہ کرے گی 71 00:03:54,450 --> 00:03:57,510 جب ان مسائل کوڈ لکھنے. 72 00:03:57,510 --> 00:04:01,440 تو آسان الگورتھم کے ساتھ آنے سے ڈرتے نہیں ہے سب سے پہلے 73 00:04:01,440 --> 00:04:04,950 اور پھر وہاں سے بہتر کام کرتے ہیں. 74 00:04:04,950 --> 00:04:09,810 کوئی بھی سوال اب تک؟ ٹھیک ہے. 75 00:04:09,810 --> 00:04:11,650 >> تو ہمارا پہلا مسئلہ میں کودو. 76 00:04:11,650 --> 00:04:14,790 انہوں نے کہا کہ ن integers کی ایک صف کو دیکھتے ہوئے، ایک تقریب ہے جو صف کی shuffles لکھنے 77 00:04:14,790 --> 00:04:20,209 ایسی ہے کہ ن integers کے تمام ترتیب برابر کا امکان ہے جگہ. " 78 00:04:20,209 --> 00:04:23,470 اور فرض کریں آپ کو دستیاب ایک بے ترتیب عددی جنریٹر ہے 79 00:04:23,470 --> 00:04:30,980 جو کہ 0 سے ایک رینج میں ایک عددی پیدا، نصف رینج ہے. 80 00:04:30,980 --> 00:04:32,970 کیا ہر کسی کو اس سوال سمجھ میں آیا؟ 81 00:04:32,970 --> 00:04:39,660 میں آپ ن integers کے ایک صف دے، اور میں آپ کو یہ شفل چاہتے ہیں. 82 00:04:39,660 --> 00:04:46,050 میری ڈائریکٹری میں، میں نے مظاہرہ ہو کہ میرا کیا مطلب میں کچھ پروگراموں کو لکھا تھا. 83 00:04:46,050 --> 00:04:48,910 میں 20 عناصر کے ایک صف کے شفل کے لئے جا رہا ہوں، 84 00:04:48,910 --> 00:04:52,490 -10 سے +9، 85 00:04:52,490 --> 00:04:57,050 اور میں آپ کے پاس اس طرح کی فہرست کی پیداوار کرنا چاہتے ہیں. 86 00:04:57,050 --> 00:05:02,890 تو یہ میری کے مطابق ان پٹ کی صف ہے، اور میں نے تم سے یہ شفل چاہتے ہیں. 87 00:05:02,890 --> 00:05:07,070 ہم نے اسے پھر سے کر دونگا. 88 00:05:07,070 --> 00:05:13,780 کیا اس کی سب سوال سمجھ میں آیا؟ ٹھیک ہے. 89 00:05:13,780 --> 00:05:16,730 تو یہ آپ پر منحصر ہے. 90 00:05:16,730 --> 00:05:21,220 کچھ خیالات کیا ہیں؟ یہ آپ ن ^ 2، ن لاگ ان کریں (ن)، (ن) کے طور پر کیا کر سکتے ہیں؟ 91 00:05:21,220 --> 00:05:34,400 تجاویز کے لئے کھلا. 92 00:05:34,400 --> 00:05:37,730 ٹھیک ہے. تو ایک خیال، ایمی کی طرف سے تجویز پیش کی ہے، 93 00:05:37,730 --> 00:05:45,300 سب سے پہلے 0 سے 20 تک ایک بے ترتیب تعداد میں، بے ترتیب عددی، ایک حد میں حساب. 94 00:05:45,300 --> 00:05:49,840 تو فرض ہمارے صف 20 کی لمبائی ہے. 95 00:05:49,840 --> 00:05:54,800 20 عناصر کے ہمارے خاکہ میں 96 00:05:54,800 --> 00:05:58,560 یہ ہماری ان پٹ صف ہے. 97 00:05:58,560 --> 00:06:04,590 اور اب، اس تجویز کو ایک نئی صف بنانے کے لئے ہے، 98 00:06:04,590 --> 00:06:08,440 تو یہ پیداوار صف ہو جائے گا. 99 00:06:08,440 --> 00:06:12,880 میں رینڈ کی طرف سے واپس کی بنیاد پر - 100 00:06:12,880 --> 00:06:17,580 تو اگر میں تھا، کا کہنا ہے کہ، 17، 101 00:06:17,580 --> 00:06:25,640 17th عنصر پہلی پوزیشن میں کاپی کریں. 102 00:06:25,640 --> 00:06:30,300 اب ہم کو خارج کرنے کی ضرورت - ہم تمام عناصر کو یہاں سے منتقل کرنے کی ضرورت ہے 103 00:06:30,300 --> 00:06:36,920 تو زائد ہے کہ ہم آخر میں ایک فرق اور درمیان میں کوئی سوراخ ہے. 104 00:06:36,920 --> 00:06:39,860 اور اب ہم عمل کو دہرائیں. 105 00:06:39,860 --> 00:06:46,360 اب ہم 0 اور 19 کے درمیان ایک نیا بے ترتیب عددی منتخب کریں. 106 00:06:46,360 --> 00:06:52,510 ہم نے ایک نئی میں یہاں ہے، اور ہم اس پوزیشن میں اس عنصر کو کاپی کرنے کے. 107 00:06:52,510 --> 00:07:00,960 پھر ہم سے زیادہ اشیاء کو منتقل کریں اور ہم عمل کو دہرائیں جب تک ہم اپنے مکمل نئی صف ہے. 108 00:07:00,960 --> 00:07:05,890 اس الگورتھم کی چلت وقت کیا ہے؟ 109 00:07:05,890 --> 00:07:08,110 ٹھیک ہے، اس کے اثرات پر غور کریں. 110 00:07:08,110 --> 00:07:10,380 ہم ہر عنصر کو جا رہے ہیں. 111 00:07:10,380 --> 00:07:16,800 جب ہم نے اس میں ہٹانے، ہم نے اس کے بعد تمام عناصر کو بائیں جا رہے ہیں. 112 00:07:16,800 --> 00:07:21,600 اور یہ O (ن) کی قیمت ہے 113 00:07:21,600 --> 00:07:26,100 اس لیے کہ اگر ہم نے پہلے عنصر کو ہٹا دیں؟ 114 00:07:26,100 --> 00:07:29,670 تو ہم ہر ہٹانے کا ہٹانے - 115 00:07:29,670 --> 00:07:32,170 ہر ہٹانے کی ایک O (ن) کے آپریشن کی موجب ہے، 116 00:07:32,170 --> 00:07:41,520 اور چونکہ ہم اخراج ن ہے، یہ O شفل (ن ^ 2) کی طرف جاتا ہے. 117 00:07:41,520 --> 00:07:49,550 ٹھیک ہے. اتنا اچھا آغاز. اچھی شروعات ہے. 118 00:07:49,550 --> 00:07:55,290 >> ایک اور تجویز Knuth شفل کے طور پر جانا جاتا کچھ استعمال کرنے کے لئے ہے، 119 00:07:55,290 --> 00:07:57,540 یا شفل فشر Yates. 120 00:07:57,540 --> 00:07:59,630 اور یہ اصل میں ایک لکیری وقت شفل ہے. 121 00:07:59,630 --> 00:08:02,200 اور خیال بہت ہی اسی طرح ہے. 122 00:08:02,200 --> 00:08:05,160 ایک بار پھر، ہم اپنے ان پٹ صف ہے، 123 00:08:05,160 --> 00:08:08,580 لیکن ہمارے ان پٹ / آؤٹ پٹ کے لئے دو arrays کا استعمال کرتے ہوئے کی بجائے، 124 00:08:08,580 --> 00:08:13,590 ہم صف کے پہلے حصہ کا استعمال کرتے ہیں ہمارے shuffled حصے کا ٹریک رکھنے کے لئے، 125 00:08:13,590 --> 00:08:18,400 اور ہم پر نگاہ رکھنے کے، اور پھر ہم unshuffled حصہ کے لئے باقی ہمارے صف چھوڑ. 126 00:08:18,400 --> 00:08:24,330 تو یہاں ہے کہ میرا کیا مطلب ہے. ہم اس کے ساتھ شروع کریں - ہم ایک میں کا انتخاب کرتے ہیں، 127 00:08:24,330 --> 00:08:30,910 0 سے 20 تک ایک صف ہے. 128 00:08:30,910 --> 00:08:36,150 ہماری موجودہ پوائنٹر پہلے انڈیکس کی طرف اشارہ کرتے ہوئے ہے. 129 00:08:36,150 --> 00:08:39,590 ہم کچھ میں یہاں کا انتخاب کرتے ہیں 130 00:08:39,590 --> 00:08:42,740 اور اب ہم تبادلہ. 131 00:08:42,740 --> 00:08:47,690 تو اگر یہ 5 تھا اور یہ 4 تھی، 132 00:08:47,690 --> 00:08:57,150 نتیجے میں صف 5 یہاں اور 4 یہاں پڑے گا. 133 00:08:57,150 --> 00:09:00,390 اور اب ہم نے ایک مارکر یہاں نوٹ. 134 00:09:00,390 --> 00:09:05,770 سب کچھ بائیں shuffled ہے، 135 00:09:05,770 --> 00:09:15,160 اور حق کو سب کچھ unshuffled ہے. 136 00:09:15,160 --> 00:09:17,260 اور اب ہم عمل کو دوہرا سکتے ہیں. 137 00:09:17,260 --> 00:09:25,210 ہم 1 اور 20 کے درمیان ایک بے ترتیب انڈیکس کا انتخاب کرتے ہیں. 138 00:09:25,210 --> 00:09:30,650 تو ہمارے نئے لگتا ہے کہ میں یہاں ہے. 139 00:09:30,650 --> 00:09:39,370 اب ہم ہماری موجودہ نئی پوزیشن کے ساتھ اس میں یہاں تبادلہ. 140 00:09:39,370 --> 00:09:44,790 تو ہم اس طرح پیچھے گماگمن کرتے ہیں. 141 00:09:44,790 --> 00:09:51,630 مجھے زیادہ ٹھوس کوڈ لانے. 142 00:09:51,630 --> 00:09:55,290 ہم میں اپنی پسند کے ساتھ شروع کریں - 143 00:09:55,290 --> 00:09:58,370 ہم شروع میں 0 کے برابر ہے، ہم ایک بے ترتیب مقام J منتخب 144 00:09:58,370 --> 00:10:02,420 صف کے unshuffled حصہ میں، میں (ن) 1. 145 00:10:02,420 --> 00:10:07,280 اگر ایسا ہے تو میں یہاں ہوں، یہاں اور صف کے باقی حصوں کے درمیان ایک بے ترتیب انڈیکس کا انتخاب، 146 00:10:07,280 --> 00:10:12,410 ہم تبادلہ اور 147 00:10:12,410 --> 00:10:17,550 یہ سب آپ کا صف شفل کے لئے ضروری کوڈ آن ہے. 148 00:10:17,550 --> 00:10:21,670 کوئی سوال؟ 149 00:10:21,670 --> 00:10:25,530 >> ٹھیک ہے، ایک سوال کی ضرورت ہے، کیوں کیا یہ صحیح ہے؟ 150 00:10:25,530 --> 00:10:28,360 ہر permutation برابر امکان کیوں ہے؟ 151 00:10:28,360 --> 00:10:30,410 اور میں اس کا ثبوت کے ذریعے نہیں کرے گا، 152 00:10:30,410 --> 00:10:35,970 لیکن کمپیوٹر سائنس میں بہت سے مسائل کو شامل کے ذریعے ثابت کیا جا سکتا ہے. 153 00:10:35,970 --> 00:10:38,520 کس طرح تم میں سے بہت سے شامل سے واقف ہیں؟ 154 00:10:38,520 --> 00:10:40,590 ٹھیک ہے. ڈاؤن لوڈ، اتارنا. 155 00:10:40,590 --> 00:10:43,610 تو آپ کو سادہ شامل کرکے اس الگورتھم کی درست ثابت ہو سکتا ہے، 156 00:10:43,610 --> 00:10:49,540 آپ کے شامل پرختیارپنا کہاں ہو گا کہ فرض 157 00:10:49,540 --> 00:10:53,290 میرا شفل ہر permutation برابر کا امکان واپس 158 00:10:53,290 --> 00:10:56,120 پہلے میں عناصر. 159 00:10:56,120 --> 00:10:58,300 اب، میں 1 + غور کریں. 160 00:10:58,300 --> 00:11:02,550 اور جس طرح سے ہم ہماری انڈیکس J تبادلہ کرنے کا انتخاب کرتے ہیں کی طرف سے، 161 00:11:02,550 --> 00:11:05,230 اس کی طرف جاتا ہے - اور اس کے بعد آپ کو تفصیلات کام 162 00:11:05,230 --> 00:11:07,390 کیوں اس الگورتھم کو واپس کی کم از کم ایک مکمل ثبوت 163 00:11:07,390 --> 00:11:12,800 برابر کا امکان امکان کے ساتھ ہر permutation. 164 00:11:12,800 --> 00:11:15,940 >> ٹھیک ہے، اگلے مسئلہ ہے. 165 00:11:15,940 --> 00:11:19,170 تو "integers کی ایک صف، postive، صفر، منفی دیا، 166 00:11:19,170 --> 00:11:21,290 ایک تقریب ہے جو زیادہ سے زیادہ رقم کا حساب لگاتا ہے لکھیں 167 00:11:21,290 --> 00:11:24,720 ان پٹ کی صف میں سے کسی continueous subarray. " 168 00:11:24,720 --> 00:11:28,370 ایک یہاں مثال کے طور پر اس کیس میں ہے ہے جہاں تمام نمبرز مثبت ہیں، 169 00:11:28,370 --> 00:11:31,320 تو اس وقت سب سے اچھا انتخاب پوری صف کرنا ہے. 170 00:11:31,320 --> 00:11:34,690 1، 2، 3، 4، 10 برابر ہے. 171 00:11:34,690 --> 00:11:36,780 جب آپ وہاں میں کچھ منفی ہیں، 172 00:11:36,780 --> 00:11:38,690 اس معاملے میں ہم صرف پہلے دو چاہتے ہیں 173 00:11:38,690 --> 00:11:44,590 کیونکہ -1 اور / یا -3 کا انتخاب ہماری رقم لانے کے نیچے جائے گا. 174 00:11:44,590 --> 00:11:48,120 کبھی کبھی ہم صف کے وسط میں شروع ہو سکتے ہیں. 175 00:11:48,120 --> 00:11:53,500 کبھی کبھی ہم نے بالکل کچھ بھی نہیں کا انتخاب کرنا چاہتے ہیں، یہ سب سے بہتر کچھ نہیں لے. 176 00:11:53,500 --> 00:11:56,490 اور کبھی کبھی یہ زوال لینے کے لئے بہتر ہے، 177 00:11:56,490 --> 00:12:07,510 کیونکہ اس کے بعد بات سپر بڑا ہے. کوئی خیال تو؟ 178 00:12:07,510 --> 00:12:10,970 (طالب علم unintelligible) >> جی ہاں. 179 00:12:10,970 --> 00:12:13,560 فرض کریں کہ میں -1 نہ لو. 180 00:12:13,560 --> 00:12:16,170 تو یا تو میں 1،000 اور 20،000 کا انتخاب کرتے ہیں، 181 00:12:16,170 --> 00:12:18,630 یا میں صرف 3 ارب منتخب کریں. 182 00:12:18,630 --> 00:12:20,760 ٹھیک ہے، سب سے اچھا انتخاب تمام نمبر لینا ہے. 183 00:12:20,760 --> 00:12:24,350 یہ -1،، منفی ہونے کے باوجود 184 00:12:24,350 --> 00:12:31,340 پوری رقم سے بہتر میں -1 نہیں لے ہے. 185 00:12:31,340 --> 00:12:36,460 تو تجاویز میں نے پہلے ذکر کی ایک واضح طور پر واضح بیان کرنا تھا 186 00:12:36,460 --> 00:12:40,540 اور جانور کو طاقت سب سے پہلے حل ہے. 187 00:12:40,540 --> 00:12:44,340 اس مسئلہ میں ایک جانور ہے طاقت حل کیا ہے؟ جی ہاں؟ 188 00:12:44,340 --> 00:12:46,890 [جین] ٹھیک ہے، میں جانور کو طاقت حل سوچتے ہیں 189 00:12:46,890 --> 00:12:52,600 تمام ممکنہ کے مجموعے (unintelligible) میں اضافہ ہو جائے گا. 190 00:12:52,600 --> 00:12:58,250 [یو] ٹھیک ہے. جین خیال ہر ممکن کرنا ہے - 191 00:12:58,250 --> 00:13:01,470 میں paraphrasing ہوں - ہر ممکن مسلسل subarray کرنا ہے، 192 00:13:01,470 --> 00:13:07,840 اس رقم کا حساب، اور پھر زیادہ سے زیادہ ہر ممکن مسلسل subarrays لو. 193 00:13:07,840 --> 00:13:13,310 کیا منفرد میرے ان پٹ صف میں ایک subarray کی شناخت؟ 194 00:13:13,310 --> 00:13:17,380 کی طرح، میں کیا دو چیزوں کی ضرورت ہے؟ جی ہاں؟ 195 00:13:17,380 --> 00:13:19,970 (طالب علم unintelligible) >> حق ہے. 196 00:13:19,970 --> 00:13:22,130 ایک کم فہرست اور ایک اوپری جانے انڈیکس پابند 197 00:13:22,130 --> 00:13:28,300 منفرد مسلسل subarray کا تعین کرتا ہے. 198 00:13:28,300 --> 00:13:31,400 [FEMALE طالب علم] کیا ہم اندازہ یہ منفرد کی تعداد کے ایک صف ہے؟ 199 00:13:31,400 --> 00:13:34,280 [یو] نمبر اس سوال کا تو ہے ہم نے اپنے صف سنبھالنے - 200 00:13:34,280 --> 00:13:39,000 ہمارے صف منفرد تعداد ہے، اور جواب نہیں ہے. 201 00:13:39,000 --> 00:13:43,390 >> اگر ہم اپنے جانور کو طاقت حل، پھر سوچکانکوں شروع / آخر کا استعمال 202 00:13:43,390 --> 00:13:47,200 منفرد ہماری مسلسل subarray کا تعین کرتا ہے. 203 00:13:47,200 --> 00:13:51,680 ، تو اگر ہم ہر ممکن آغاز سے لے کے لئے iterate 204 00:13:51,680 --> 00:13:58,320 اور آخر اندراجات کے لئے> یا = شروع، اور <ن، 205 00:13:58,320 --> 00:14:05,570 آپ رقم کی گنتی، اور پھر ہم زیادہ سے زیادہ رقم ہے ہم نے اب تک دیکھا ہے. 206 00:14:05,570 --> 00:14:07,880 واضح یہ ہے؟ 207 00:14:07,880 --> 00:14:12,230 اس حل کا بڑا O کیا ہے؟ 208 00:14:12,230 --> 00:14:16,660 Timewise. 209 00:14:16,660 --> 00:14:18,860 ^ 2 کافی نہیں ن. 210 00:14:18,860 --> 00:14:25,250 نوٹ کریں کہ ہم 0 سے (ن) کے iterate 211 00:14:25,250 --> 00:14:27,520 تاکہ لوپ کے لئے ایک ہے. 212 00:14:27,520 --> 00:14:35,120 ہم نے تقریبا شروع سے آخر تک دوبارہ، لوپ کے لئے ایک اور iterate. 213 00:14:35,120 --> 00:14:37,640 اور اب، اس کے اندر اندر ہم نے ہر تحریر پر ہونے والے تبصروں سے خلاصہ ہے، 214 00:14:37,640 --> 00:14:43,810 تاکہ لوپ کے لئے ایک ہے. تو ہم تین loops کے لئے اندر در اندر، 3 ن ^ ہے. 215 00:14:43,810 --> 00:14:46,560 ٹھیک ہے. یہ ایک نقطہ اغاز کے طور پر کی جاتی ہے. 216 00:14:46,560 --> 00:14:53,180 ہمارے حل ن ^ 3 سے بھی بدتر ہے. 217 00:14:53,180 --> 00:14:55,480 کیا ہر جانور کو طاقت حل سمجھ میں آیا؟ 218 00:14:55,480 --> 00:14:59,950 >> ٹھیک ہے. ایک بہتر حل متحرک پروگرامنگ نامی ایک خیال کا استعمال کرتے ہوئے کر رہا ہے. 219 00:14:59,950 --> 00:15:03,040 اگر آپ CS124 لیتے ہیں، جو والگورزم اور ڈیٹا ساخت ہے، 220 00:15:03,040 --> 00:15:05,680 آپ کو اس ٹیکنالوجی سے بہت واقف ہو جائے گا. 221 00:15:05,680 --> 00:15:12,190 اور خیال، چھوٹے مسائل کو حل سب سے پہلے تعمیر کرنے کی کوشش ہے. 222 00:15:12,190 --> 00:15:17,990 آغاز اور اختتام: کیا میرا مطلب ہے کی طرف سے ہے، ہم اس وقت دو چیزوں کے بارے میں فکر کرنے کی ہے. 223 00:15:17,990 --> 00:15:29,340 اور وہ پریشان ہے. کیا ہوگا اگر ہم ان پیرامیٹرز کی ایک سے چھٹکارا مل سکے؟ 224 00:15:29,340 --> 00:15:32,650 we're، دیا ہمارا اصل مسئلہ - ایک خیال ہے 225 00:15:32,650 --> 00:15:37,470 ایک حد میں کسی بھی subarray کی زیادہ سے زیادہ رقم [O، ن 1] کو تلاش کریں. 226 00:15:37,470 --> 00:15:47,400 اور اب ہم ہمارے موجودہ انڈیکس میں ایک نیا subproblem، ہیں جہاں ہم جانتے ہیں، 227 00:15:47,400 --> 00:15:52,520 ہم جانتے ہیں کہ ہم وہاں اختتام ضروری ہے. ہماری subarray موجودہ انڈیکس میں ختم ہونا چاہیے. 228 00:15:52,520 --> 00:15:57,640 تو باقی مسئلہ ہے، ہم ہماری subarray جہاں شروع کر دینا چاہئے؟ 229 00:15:57,640 --> 00:16:05,160 کیا اس کا کوئی مطلب ہے؟ ٹھیک ہے. 230 00:16:05,160 --> 00:16:12,030 تو میں اس کوڈت ہے، اور اس کا مطلب کیا ہوا نظر. 231 00:16:12,030 --> 00:16:16,230 codirectory میں کہا جاتا subarray پروگرام ہے، 232 00:16:16,230 --> 00:16:19,470 اور اشیاء کی تعداد لیتا ہے، 233 00:16:19,470 --> 00:16:25,550 اور یہ میری shuffled کی فہرست میں زیادہ سے زیادہ subarray رقم واپس. 234 00:16:25,550 --> 00:16:29,920 تو اس معاملے میں، ہماری زیادہ سے زیادہ subarray 3 ہے. 235 00:16:29,920 --> 00:16:34,850 اور یہ صرف 2 اور 1 کا استعمال کرتے ہوئے کی طرف سے اٹھائے گئے. 236 00:16:34,850 --> 00:16:38,050 اسے دوبارہ چلائیں. یہ بھی 3 ہے. 237 00:16:38,050 --> 00:16:40,950 لیکن اس وقت نوٹ کریں، کہ ہم کس طرح 3 ہے. 238 00:16:40,950 --> 00:16:46,690 ہم نے - ہم صرف 3 خود لے 239 00:16:46,690 --> 00:16:49,980 کیونکہ اس کے دونوں اطراف پر منفی طرف سے گھیر لیا ہے، 240 00:16:49,980 --> 00:16:55,080 جو کہ ایک رقم <3 لے آئے گا. 241 00:16:55,080 --> 00:16:57,820 10 اشیاء پر چلانے دو 242 00:16:57,820 --> 00:17:03,200 اس بار 7 ہے، ہم معروف 3 اور 4 لے لو. 243 00:17:03,200 --> 00:17:09,450 اس بار 8 ہے، اور ہم 1، 4، اور 3 سے لے کر حاصل کریں. 244 00:17:09,450 --> 00:17:16,310 تو آپ کو کس طرح ایک انترجشتھان دیتے ہیں، اس تبدیل مسئلہ کو حل کر سکتے ہیں، 245 00:17:16,310 --> 00:17:18,890 ہم اس subarray پر ایک نظر لے. 246 00:17:18,890 --> 00:17:23,460 ہم اس ان پٹ صف دیا ہے، کر رہے ہیں اور ہم جانتے ہیں کہ جواب 8 ہے. 247 00:17:23,460 --> 00:17:26,359 ہم 1، 4، اور 3 لیتے ہیں. 248 00:17:26,359 --> 00:17:29,090 لیکن کس طرح ہم واقعی اس جواب مل گیا دیکھو. 249 00:17:29,090 --> 00:17:34,160 کی زیادہ سے زیادہ subarray ہے کہ ان سوچکانکوں میں سے ہر ایک میں ختم ہونے کو دیکھو. 250 00:17:34,160 --> 00:17:40,780 زیادہ سے زیادہ subarray ہے کہ پہلی پوزیشن پر ختم کرنے کے لئے ہے کیا ہے؟ 251 00:17:40,780 --> 00:17:46,310 [ZERO Student کی]. زیرو. >> بس -5 نہیں ہے. 252 00:17:46,310 --> 00:17:50,210 یہاں یہ 0 کے طور پر ہو رہا ہے. جی ہاں؟ 253 00:17:50,210 --> 00:17:56,470 (طالب علم unintelligible) 254 00:17:56,470 --> 00:17:58,960 [یو] اوہ، معاف کرنا، یہ ایک -3 ہے. 255 00:17:58,960 --> 00:18:03,220 تو یہ ایک 2 ہے، یہ ایک -3 ہے. 256 00:18:03,220 --> 00:18:08,690 ٹھیک ہے. تو -4، کیا اس کی حیثیت کو ختم کرنے کے لئے زیادہ سے زیادہ subarray ہے 257 00:18:08,690 --> 00:18:12,910 -4 میں کہاں ہے؟ زیرو. 258 00:18:12,910 --> 00:18:22,570 ایک؟ 1، 5، 8. 259 00:18:22,570 --> 00:18:28,060 اب، میں مقام جہاں -2 میں ہے میں ختم ہونا چاہیے. 260 00:18:28,060 --> 00:18:39,330 تو 6، 5، 7، اور گزشتہ ایک 4 ہے. 261 00:18:39,330 --> 00:18:43,480 علم ميں رہے کہ یہ میرے اندراجات ہیں 262 00:18:43,480 --> 00:18:48,130 تبدیل مسئلہ جہاں میں ان سوچکانکوں میں سے ہر ایک میں ختم ہونا چاہیے، 263 00:18:48,130 --> 00:18:51,410 تو میرا آخری جواب ہے، میں ایک جھاڑو لے، 264 00:18:51,410 --> 00:18:53,580 اور زیادہ سے زیادہ تعداد کو لے لو. 265 00:18:53,580 --> 00:18:55,620 تو اس کیس میں 8 ہے. 266 00:18:55,620 --> 00:19:00,010 اس کا مطلب یہ ہے کہ زیادہ سے زیادہ subarray اس انڈیکس میں ختم ہو جاتی ہے، 267 00:19:00,010 --> 00:19:04,970 اور اس سے پہلے کہیں شروع کر دیا. 268 00:19:04,970 --> 00:19:09,630 کیا ہر کسی کو اس تبدیل subarray سمجھ میں آیا؟ 269 00:19:09,630 --> 00:19:22,160 >> ٹھیک ہے. چلو، اس کے لئے اعادہ اعداد و شمار. 270 00:19:22,160 --> 00:19:27,990 چلو صرف پہلے چند سے لے غور ہیں. 271 00:19:27,990 --> 00:19:35,930 تو یہاں 0، 0، 0، 1 5، تھا، 8. 272 00:19:35,930 --> 00:19:39,790 اور پھر -2 ایک یہاں تھا، اور یہ کہ وہ 6 سے لے کر ہے. 273 00:19:39,790 --> 00:19:50,800 تو اگر مجھے فون عہدے پر لاگ ان میں subproblem (میں)، 274 00:19:50,800 --> 00:19:54,910 جواب میں کہ کس طرح گزشتہ subproblem کرنے کے لئے استعمال کر سکتے ہیں 275 00:19:54,910 --> 00:19:59,360 اس subproblem کا جواب ہے؟ 276 00:19:59,360 --> 00:20:04,550 اگر میں نظر آتے ہیں، ہم کہتے ہیں، اس اندراج. 277 00:20:04,550 --> 00:20:09,190 میں دیکھ کر کس طرح 6 جواب حساب کر سکتے ہیں 278 00:20:09,190 --> 00:20:18,780 اس صف اور اس صف میں گزشتہ subproblems کے جوابات کی ایک مجموعہ ہے؟ جی ہاں؟ 279 00:20:18,780 --> 00:20:22,800 [FEMALE طالب علم] آپ رقم کی صف رکھنا 280 00:20:22,800 --> 00:20:25,430 پوزیشن میں اس سے پہلے تو، 8، 281 00:20:25,430 --> 00:20:32,170 اور پھر آپ کو موجودہ subproblem شامل کریں. 282 00:20:32,170 --> 00:20:36,460 [یو] تو اس کی تجویز ان دو نمبروں کو دیکھنے کے لئے ہے، 283 00:20:36,460 --> 00:20:40,090 اس نمبر اور اس نمبر. 284 00:20:40,090 --> 00:20:50,130 تو 8 subproblem کا جواب (- 1 میں) سے مراد ہے. 285 00:20:50,130 --> 00:20:57,300 اور اپنے ان پٹ صف A. فون 286 00:20:57,300 --> 00:21:01,470 کے لئے ایک زیادہ سے زیادہ subarray کہ میں پوزیشن میں ختم ہو جاتی ہے کو تلاش کرنے کے لئے، 287 00:21:01,470 --> 00:21:03,980 میں دو راستے ہیں: میں subarray یا تو جاری رکھ سکتے ہیں 288 00:21:03,980 --> 00:21:09,790 جو گزشتہ انڈیکس میں ختم ہوا، یا ایک نئی صف شروع. 289 00:21:09,790 --> 00:21:14,190 اگر میں subarray کہ گزشتہ انڈیکس میں شروع جاری تھے، 290 00:21:14,190 --> 00:21:19,260 تو زیادہ سے زیادہ رقم میں حاصل کر سکتے ہیں گزشتہ subproblem کا جواب ہے 291 00:21:19,260 --> 00:21:24,120 علاوہ موجودہ صف اندراج. 292 00:21:24,120 --> 00:21:27,550 لیکن، میں نے بھی ایک نیا subarray شروع کرنے کا انتخاب ہے، 293 00:21:27,550 --> 00:21:30,830 جس صورت میں رقم 0 ہے. 294 00:21:30,830 --> 00:21:42,860 1، کے علاوہ موجودہ صف انٹری - تو جواب 0 کی زیادہ سے زیادہ، subproblem میں ہے. 295 00:21:42,860 --> 00:21:46,150 کیا اس تکرار کا کوئی مطلب ہے؟ 296 00:21:46,150 --> 00:21:50,840 ہمارے تکرار، جیسا کہ ہم نے ابھی پتہ چلا ہے، subproblem میں 297 00:21:50,840 --> 00:21:54,740 گزشتہ subproblem کے زیادہ سے زیادہ کے علاوہ اپنے موجودہ صف اندراج کے برابر ہے، 298 00:21:54,740 --> 00:22:01,490 جس کا مطلب ہے کہ گزشتہ subarray جاری، 299 00:22:01,490 --> 00:22:07,250 یا 0، اپنے موجودہ فہرست میں ایک نیا subarray شروع. 300 00:22:07,250 --> 00:22:10,060 اور ایک بار ہم نے تعمیر کے حل کے اس میز ہے، تو ہماری آخری جواب 301 00:22:10,060 --> 00:22:13,950 صرف subproblem صف کے اس پار ایک لکیری جھاڑو کرنا 302 00:22:13,950 --> 00:22:19,890 اور زیادہ سے زیادہ تعداد کو لے لو. 303 00:22:19,890 --> 00:22:23,330 یہ جو میں نے ابھی کہا کے عین مطابق عمل درآمد ہے. 304 00:22:23,330 --> 00:22:27,320 تو ہم نے ایک نیا subproblem صف، subproblems تخلیق کرتے ہیں. 305 00:22:27,320 --> 00:22:32,330 پہلی انٹری یا تو 0 یا پہلی اندراج، ان دونوں کو زیادہ سے زیادہ ہے. 306 00:22:32,330 --> 00:22:35,670 اور subproblems کے باقی کے لئے 307 00:22:35,670 --> 00:22:39,810 ہم عین مطابق تکرار ہم صرف دریافت کا استعمال کرتے ہیں. 308 00:22:39,810 --> 00:22:49,960 اب ہم نے زیادہ سے زیادہ ہمارے subproblems صف کے حساب ہے، اور یہ کہ ہماری آخری جواب ہے. 309 00:22:49,960 --> 00:22:54,130 >> تو کتنا خلائی ہم اس الگورتھم میں استعمال کر رہے ہیں؟ 310 00:22:54,130 --> 00:23:01,470 اگر آپ کو صرف CS50 کر لیا ہے، تو آپ کی جگہ نہیں ہے ہو سکتا ہے بہت بات چیت کی. 311 00:23:01,470 --> 00:23:07,750 ٹھیک ہے، ایک بات نوٹ کی بات یہ ہے کہ میں نے فون کیا malloc سائز کی (ن) کے ساتھ یہاں ہے. 312 00:23:07,750 --> 00:23:13,590 کیا ہے جو آپ کو رائے ہے؟ 313 00:23:13,590 --> 00:23:17,450 یہ الگورتھم لکیری خلا کا استعمال کرتا ہے. 314 00:23:17,450 --> 00:23:21,030 ہم بہتر کر سکتا ہوں؟ 315 00:23:21,030 --> 00:23:30,780 ہے بھی ہے کہ آپ کو نوٹس ہے جو حتمی جواب حساب سے ضروری نہیں ہے؟ 316 00:23:30,780 --> 00:23:33,290 مجھے لگتا ہے کہ ایک بہتر سوال کیا ہے، کے بارے میں معلومات 317 00:23:33,290 --> 00:23:40,680 ہم آخر تک تمام طریقے سے انجام دینے کی ضرورت نہیں ہے؟ 318 00:23:40,680 --> 00:23:44,280 اب، اگر ہم ان دو لائنوں پر نظر آتے ہیں، 319 00:23:44,280 --> 00:23:47,720 ہم صرف گزشتہ subproblem کے بارے میں دیکھ بھال، 320 00:23:47,720 --> 00:23:50,910 اور ہم زیادہ سے زیادہ ہم نے اب تک دیکھا ہے کے بارے میں ہی خیال رکھتے ہیں. 321 00:23:50,910 --> 00:23:53,610 ہماری آخری جواب کا حساب کرنے کے لئے، ہم پوری صف کی ضرورت نہیں ہے. 322 00:23:53,610 --> 00:23:57,450 ہم صرف آخری نمبر، گزشتہ دو نمبروں کی ضرورت ہے. 323 00:23:57,450 --> 00:24:02,630 زیادہ سے زیادہ کے لئے subproblem صف، اور آخری نمبر کے لئے آخری نمبر. 324 00:24:02,630 --> 00:24:07,380 تو، حقیقت میں، ہم ان loops کے ساتھ گلانا کر سکتے ہیں 325 00:24:07,380 --> 00:24:10,460 اور لکیری خلا سے مسلسل جگہ جانا. 326 00:24:10,460 --> 00:24:15,830 موجودہ رقم اب تک، یہاں، ہمارے subproblem صف subproblem، کے کردار کی جگہ لے لیتا ہے. 327 00:24:15,830 --> 00:24:20,020 تو موجودہ رقم، اب تک، گزشتہ subproblem کا جواب ہے. 328 00:24:20,020 --> 00:24:23,450 اور وہ رقم، اب تک، ہماری زیادہ سے زیادہ کی جگہ لے لیتا ہے. 329 00:24:23,450 --> 00:24:28,100 ہم زیادہ سے زیادہ گنتی ہے جیسا کہ ہم ساتھ جاتے. 330 00:24:28,100 --> 00:24:30,890 اور اس طرح ہم لکیری خلا سے مسلسل جگہ جاتے ہیں، 331 00:24:30,890 --> 00:24:36,650 اور ہم بھی ایک لکیری ہمارے subarray مسئلہ کا حل ہے. 332 00:24:36,650 --> 00:24:40,740 >> یہ طرح کے سوالات کے آپ کو ایک انٹرویو کے دوران مل جائے گا. 333 00:24:40,740 --> 00:24:44,450 وقت پیچیدگی کیا ہے، خلائی پیچیدگی کیا ہے؟ 334 00:24:44,450 --> 00:24:50,600 آپ کو بہتر کر سکتا ہوں؟ چیزوں جو ارد گرد رکھنے کے لئے غیر ضروری ہیں؟ 335 00:24:50,600 --> 00:24:55,270 میں اس نے تجزیہ کرتا ہے کہ آپ اپنی ذمہ داری پر لینا چاہئے اجاگر کرنے کے 336 00:24:55,270 --> 00:24:57,400 کے طور پر آپ کو ان مسائل کے ذریعے کام کر رہے ہیں. 337 00:24:57,400 --> 00:25:01,710 ہمیشہ خود سے پوچھ، "میں بہتر کر سکتے ہیں؟" 338 00:25:01,710 --> 00:25:07,800 اصل میں، ہم اس سے بہتر کر سکتے ہیں؟ 339 00:25:07,800 --> 00:25:10,730 ایک چال کے سوال کی بنیاد پر ترتیب دیں. آپ، کیونکہ آپ کی ضرورت نہیں کر سکتے ہیں 340 00:25:10,730 --> 00:25:13,590 کم از کم مسئلہ ان پٹ کو پڑھیں. 341 00:25:13,590 --> 00:25:15,570 تو حقیقت یہ ہے کہ آپ کی ضرورت ہے کم از کم مسئلہ پر ان پٹ پڑھ 342 00:25:15,570 --> 00:25:19,580 کا مطلب ہے کہ آپ لکیری وقت سے بہتر نہیں کر سکتے، 343 00:25:19,580 --> 00:25:22,870 اور آپ کو مسلسل خلا سے بہتر نہیں کر سکتا. 344 00:25:22,870 --> 00:25:27,060 تو یہ ہے، اصل میں، اس مسئلہ کے لئے بہترین حل ہے. 345 00:25:27,060 --> 00:25:33,040 سوال؟ ٹھیک ہے. 346 00:25:33,040 --> 00:25:35,190 >> اسٹاک مارکیٹ کا مسئلہ: 347 00:25:35,190 --> 00:25:38,350 "کو ن integers، مثبت، صفر یا منفی ایک صف 348 00:25:38,350 --> 00:25:41,680 جو ن دنوں کے دوران اسٹاک کی قیمت کی نمائندگی کرتے ہیں، 349 00:25:41,680 --> 00:25:44,080 زیادہ سے زیادہ منافع ہے آپ کر سکتے ہیں حساب کرنے کے لئے ایک تقریب لکھنے 350 00:25:44,080 --> 00:25:49,350 دیا ہے کہ آپ اور فروخت ان (ن) دن کے اندر اندر بالکل 1 اسٹاک خریدتے ہیں. " 351 00:25:49,350 --> 00:25:51,690 بنیادی طور پر، ہم کم خریدنے کے لئے، اعلی فروخت کرنا چاہتے ہیں. 352 00:25:51,690 --> 00:25:58,580 اور ہم بہترین منافع ہے جو ہم کر سکتے ہیں کرنا چاہتے ہیں. 353 00:25:58,580 --> 00:26:11,500 میری ٹپ واپس جانا، کیا فوری طور پر واضح، آسان جواب ہے، لیکن یہ سست ہے ہے؟ 354 00:26:11,500 --> 00:26:17,690 جی ہاں؟ (طالب علم unintelligible) >> جی ہاں. 355 00:26:17,690 --> 00:26:21,470 >> تو آپ اگرچہ صرف اسٹاک کی قیمتوں کو دیکھو گے 356 00:26:21,470 --> 00:26:30,550 میں وقت میں ہر نقطہ (unintelligible). 357 00:26:30,550 --> 00:26:33,990 [یو] ٹھیک ہے، تو اس کا حل - کمپیوٹنگ کی اس تجویز 358 00:26:33,990 --> 00:26:37,380 سب سے کم اور سب سے زیادہ کمپیوٹنگ ضروری کام نہیں ہے 359 00:26:37,380 --> 00:26:42,470 کی وجہ سے سب سے زیادہ سب سے کم سے پہلے ہو سکتا ہے. 360 00:26:42,470 --> 00:26:47,340 تو جانور کو طاقت اس مسئلہ کا حل کیا ہے؟ 361 00:26:47,340 --> 00:26:53,150 دو چیزیں ہیں کہ میں منفرد منافع میں تعین کرنے کی ضرورت ہے؟ ٹھیک ہے. 362 00:26:53,150 --> 00:26:59,410 جانور کو طاقت کا حل ہے - اوہ، تو، جارج کی تجویز ہے کہ دو دن ہم صرف ضرورت ہے 363 00:26:59,410 --> 00:27:02,880 منفرد ان دو دنوں کے منافع کا تعین. 364 00:27:02,880 --> 00:27:06,660 تو ہم نے ہر جوڑے کو حساب، خرید / فروخت کی طرح، 365 00:27:06,660 --> 00:27:12,850 منافع حساب، جو کہ منفی یا مثبت یا صفر ہو سکتا ہے. 366 00:27:12,850 --> 00:27:18,000 زیادہ سے زیادہ منافع ہے کہ ہم دنوں کے تمام جوڑوں کو iterating کے بعد کمپیوٹ. 367 00:27:18,000 --> 00:27:20,330 یہ ہماری آخری جواب ہو جائے گا. 368 00:27:20,330 --> 00:27:25,730 اور اس کا حل O (ن ^ 2)، کیونکہ وہاں ن دو جوڑے کا انتخاب کریں گے - 369 00:27:25,730 --> 00:27:30,270 دن ہے کہ آپ کو آخر کے دنوں کے درمیان منتخب کر سکتے ہیں. 370 00:27:30,270 --> 00:27:32,580 ٹھیک ہے، تو میں جانور کو طاقت حل یہاں جانا نہیں کر رہا ہوں. 371 00:27:32,580 --> 00:27:37,420 میں آپ کو بتانے جا رہا ہوں کہ ایک ن لاگ ان ن حل ہے. 372 00:27:37,420 --> 00:27:45,550 کیا الگورتھم آپ فی الحال پتہ ہے جو ن لاگ ان ن ہے؟ 373 00:27:45,550 --> 00:27:50,730 یہ ایک چال کا سوال نہیں ہے. 374 00:27:50,730 --> 00:27:54,790 >> طرح ضم کریں. طرح ضم ن لاگ ان ن ہے، 375 00:27:54,790 --> 00:27:57,760 اور اصل میں، اس مسئلے کے حل میں سے ایک طریقہ استعمال کرنے کے لئے ہے 376 00:27:57,760 --> 00:28:04,400 خیال کی ضم طرح طرح کہا جاتا ہے، عام طور پر، اور فتح کی تقسیم. 377 00:28:04,400 --> 00:28:07,570 اور خیال ہے کے طور پر مندرجہ ذیل ہے. 378 00:28:07,570 --> 00:28:12,400 آپ کو سب سے بہتر خرید حساب / بائیں نصف میں جوڑی فروخت کرنا چاہتے ہیں. 379 00:28:12,400 --> 00:28:16,480 بہترین منافع آپ کو صرف دو دن کے دوران پہلی (ن) کے ساتھ، کر سکتے ہیں تلاش کریں. 380 00:28:16,480 --> 00:28:19,780 اس وقت آپ کو سب سے بہتر خرید oompute / صحیح نصف پر جوڑی فروخت کرنا چاہتے ہیں، 381 00:28:19,780 --> 00:28:23,930 دو دن کے دوران آخری ن. 382 00:28:23,930 --> 00:28:32,400 اور اب سوال یہ ہے کہ ہم کس طرح ان کے حل کے ساتھ میں واپس ضم؟ 383 00:28:32,400 --> 00:28:36,320 جی ہاں؟ (طالب علم unintelligible) 384 00:28:36,320 --> 00:28:49,890 ٹھیک ہے. >> تو مجھے ایک تصویر کو اپنی طرف متوجہ. 385 00:28:49,890 --> 00:29:03,870 جی ہاں؟ (جارج، unintelligible) 386 00:29:03,870 --> 00:29:06,450 بالکل ٹھیک ہے. >> جارج کی بالکل صحیح حل ہے. 387 00:29:06,450 --> 00:29:10,040 تو اس کی تجویز ہے، سب سے پہلے بہترین جوڑی خرید / فروخت کی گنتی، 388 00:29:10,040 --> 00:29:16,050 اور جو بائیں نصف میں ہوتا ہے، تو ہم کہتے ہیں بائیں چھوڑ دیا،. 389 00:29:16,050 --> 00:29:20,790 ڈاؤن لوڈ، اتارنا جوڑی جو درست نصف میں ہوتا ہے خرید / فروخت. 390 00:29:20,790 --> 00:29:25,180 لیکن اگر ہم صرف ان دو اعداد کے مقابلے میں، ہم کیس لاپتہ کر رہے ہیں 391 00:29:25,180 --> 00:29:30,460 ہم یہاں کہاں سے خرید اور صحیح نصف میں کہیں فروخت. 392 00:29:30,460 --> 00:29:33,810 ہم بائیں نصف میں خریدتے ہیں، صحیح نصف میں فروخت کرتے ہیں. 393 00:29:33,810 --> 00:29:38,490 اور بہترین جوڑی خرید / فروخت جس میں دونوں حصوں spans حساب کا بہترین طریقہ 394 00:29:38,490 --> 00:29:43,480 کم از کم یہاں حساب اور زیادہ سے زیادہ یہاں حساب 395 00:29:43,480 --> 00:29:45,580 اور ان کے فرق کو لے لو. 396 00:29:45,580 --> 00:29:50,850 دو معاملات میں جہاں جوڑے کی خرید / فروخت یہاں صرف اس وقت ہوتی ہے تو، 397 00:29:50,850 --> 00:30:01,910 یہاں صرف، یا دونوں حصوں کو ان تین نمبروں کی طرف سے وضاحت کی گئی ہے. 398 00:30:01,910 --> 00:30:06,450 ہماری الگورتھم تو ہمارے حل کو واپس کو ایک ساتھ ضم کرنا، 399 00:30:06,450 --> 00:30:08,350 ہم بہترین جوڑی خرید / فروخت کا حساب کرنے کے لئے کرنا چاہتے ہیں 400 00:30:08,350 --> 00:30:13,120 جہاں ہم بائیں نصف پر خرید اور صحیح نصف پر فروخت. 401 00:30:13,120 --> 00:30:16,740 اور ایسا کرنے کے لئے کا سب سے بہترین راستہ ہے جس سے پہلی ششماہی میں سب سے کم قیمت گنتی ہے، 402 00:30:16,740 --> 00:30:20,360 صحیح نصف میں زیادہ سے زیادہ قیمت ہے، اور ان کا فرق لے. 403 00:30:20,360 --> 00:30:25,390 نتیجے میں تین منافع، ان تین نمبر، آپ کے پاس زیادہ سے زیادہ تین سال کی ہے، 404 00:30:25,390 --> 00:30:32,720 اور یہ کہ سب سے بہترین منافع آپ کو ان کا پہلا اور آخر دنوں کے دوران کر سکتے ہیں ہے. 405 00:30:32,720 --> 00:30:36,940 یہاں اہم لائنوں سرخ رنگ میں ہیں. 406 00:30:36,940 --> 00:30:41,160 یہ ایک پنراورتی بائیں نصف میں جواب حساب کا فون ہے. 407 00:30:41,160 --> 00:30:44,760 یہ درست نصف میں ایک پنراورتی جواب حساب کا فون ہے. 408 00:30:44,760 --> 00:30:50,720 یہ دو loops کے لئے بائیں اور دائیں نصف پر کم از کم اور زیادہ سے زیادہ حساب، بالترتیب. 409 00:30:50,720 --> 00:30:54,970 اب میں منافع بخش ہے کہ دونوں حصوں spans حساب، 410 00:30:54,970 --> 00:31:00,530 اور آخری جواب ان تین میں سے زیادہ سے زیادہ ہے. 411 00:31:00,530 --> 00:31:04,120 ٹھیک ہے. 412 00:31:04,120 --> 00:31:06,420 >> تو، اس بات کا یقین، ہم ایک الگورتھم ہے، لیکن بڑا سوال یہ ہے، 413 00:31:06,420 --> 00:31:08,290 اس کے وقت پیچیدگی کیا ہے؟ 414 00:31:08,290 --> 00:31:16,190 اور وجہ میں ضم طرح ذکر کیا ہے کہ اس فارم کو جواب تقسیم 415 00:31:16,190 --> 00:31:19,200 دو حصوں میں اور پھر ہمارے حل کے ساتھ میں واپس ضم 416 00:31:19,200 --> 00:31:23,580 بالکل ضم طرح کے طور پر ہے. 417 00:31:23,580 --> 00:31:33,360 تو دو کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے مدت کے ذریعے جانا. 418 00:31:33,360 --> 00:31:41,340 اگر ہم نے ایک تقریب ٹی (ن) کی وضاحت اقدامات کی تعداد 419 00:31:41,340 --> 00:31:50,010 (ن) کے دنوں کے لئے، 420 00:31:50,010 --> 00:31:54,350 ہمارے دو پنراورتی کالز 421 00:31:54,350 --> 00:32:00,460 ہر ٹی (ن / 2) کی لاگت 422 00:32:00,460 --> 00:32:03,540 اور وہاں ان کالوں کی دو ہے. 423 00:32:03,540 --> 00:32:10,020 اب میں بائیں نصف کے کم از کم کا حساب کرنے کی ضرورت ہے، 424 00:32:10,020 --> 00:32:17,050 جو میں نے N / 2 وقت کے علاوہ صحیح نصف کے زیادہ سے زیادہ میں کیا کر سکتے ہیں. 425 00:32:17,050 --> 00:32:20,820 تو یہ صرف ن ہے. 426 00:32:20,820 --> 00:32:25,050 اور پھر کسی مسلسل کام کے علاوہ. 427 00:32:25,050 --> 00:32:27,770 اور یہ تکرار مساوات 428 00:32:27,770 --> 00:32:35,560 بالکل ضم طرح کی تکرار مساوات ہے. 429 00:32:35,560 --> 00:32:39,170 اور ہم سب جانتے ہیں کہ انضمام کی طرح ن لاگ ان کریں (ن) کا وقت ہے. 430 00:32:39,170 --> 00:32:46,880 لہذا، ہماری الگورتھم بھی لاگ ان ن وقت (ن) ہے. 431 00:32:46,880 --> 00:32:52,220 کیا یہ iteration احساس ہے؟ 432 00:32:52,220 --> 00:32:55,780 اس کا بس ایک مختصر recap: 433 00:32:55,780 --> 00:32:59,170 T (ن) کے اقدامات کی تعداد زیادہ سے زیادہ منافع کے حساب ہے 434 00:32:59,170 --> 00:33:02,750 (ن) کے دن کے دوران. 435 00:33:02,750 --> 00:33:06,010 جس طرح سے ہم نے ہمارے پنراورتی کالز سپلٹ 436 00:33:06,010 --> 00:33:11,980 پہلے ن / 2 دن ہماری حل بلا ہے، 437 00:33:11,980 --> 00:33:14,490 تاکہ ایک فون ہے، 438 00:33:14,490 --> 00:33:16,940 اور پھر ہم دوسرے نصف حصے پر ایک بار پھر کہتے ہیں. 439 00:33:16,940 --> 00:33:20,440 تو وہ دو فون ہے. 440 00:33:20,440 --> 00:33:25,310 اور پھر ہم بائیں نصف پر کم از کم ملے، جو ہم لکیری وقت میں کر سکتے ہیں، 441 00:33:25,310 --> 00:33:29,010 صحیح نصف کے زیادہ سے زیادہ، جو ہم لکیری وقت میں کر سکتے ہیں کو تلاش کریں. 442 00:33:29,010 --> 00:33:31,570 تو ن / 2 این + / 2 ن ہے. 443 00:33:31,570 --> 00:33:36,020 پھر ہم کچھ مسلسل کام ہے، جو ریاضی کر رہی ہے ہے. 444 00:33:36,020 --> 00:33:39,860 یہ تکرار مساوات بالکل ضم طرح کی تکرار مساوات ہے. 445 00:33:39,860 --> 00:33:55,490 لہذا ہماری شفل الگورتھم بھی ہے ن ن لاگ ان کریں. 446 00:33:55,490 --> 00:33:58,520 تو کتنا خلائی ہم استعمال کر رہے ہیں؟ 447 00:33:58,520 --> 00:34:04,910 کوڈ واپس جانے دو. 448 00:34:04,910 --> 00:34:09,420 >> ایک بہتر سوال کس طرح بہت سے اسٹیک فریم ہے ہم کبھی بھی کسی بھی وقت ہے؟ 449 00:34:09,420 --> 00:34:11,449 چونکہ ہم نے تکرار کا استعمال کر رہے ہیں، 450 00:34:11,449 --> 00:34:23,530 اسٹیک کے فریموں کی تعداد ہمارے خلا استعمال کا تعین کرتا ہے. 451 00:34:23,530 --> 00:34:29,440 چلو ن 8 = غور ہیں. 452 00:34:29,440 --> 00:34:36,889 ہم نے 8 شفل فون، 453 00:34:36,889 --> 00:34:41,580 جو پہلے چار سے لے شفل کو فون کروں گا، 454 00:34:41,580 --> 00:34:46,250 جو پہلے دو سے لے کے ایک شفل فون کروں گا. 455 00:34:46,250 --> 00:34:51,550 تو ہمارے اسٹیک ہے - یہ ہمارا اسٹیک ہے. 456 00:34:51,550 --> 00:34:54,980 اور پھر ہم شفل 1 پھر کہتے ہیں، 457 00:34:54,980 --> 00:34:58,070 اور یہی ہماری بنیاد معاملہ ہے، تو ہم فوری طور پر واپس کر دیں. 458 00:34:58,070 --> 00:35:04,700 کیا ہم نے کبھی بھی یہ بہت سے اسٹیک فریم کے مقابلے میں زیادہ ہے؟ 459 00:35:04,700 --> 00:35:08,880 نہیں، کیونکہ ہر وقت ہے کہ ہم ایک فریاد کرتے ہیں 460 00:35:08,880 --> 00:35:10,770 پنراورتی شفل فریاد، 461 00:35:10,770 --> 00:35:13,950 ہم نے نصف میں ہماری حجم کو تقسیم. 462 00:35:13,950 --> 00:35:17,020 تو اسٹیک کے فریموں کی زیادہ سے زیادہ تعداد ہم نے کبھی بھی کسی بھی وقت ہے 463 00:35:17,020 --> 00:35:28,460 لاگ ان ن اسٹیک فریم کے حکم پر ہے. 464 00:35:28,460 --> 00:35:42,460 ہر اسٹیک فریم مستقل جگہ ہے، 465 00:35:42,460 --> 00:35:44,410 اور علاقے کا اس لئے کل رقم، 466 00:35:44,410 --> 00:35:49,240 جگہ کی زیادہ سے زیادہ رقم ہے جو ہم نے کبھی استعمال کریں O خلا (لاگ ان ن) ہے 467 00:35:49,240 --> 00:36:03,040 (ن) کے دنوں کی تعداد کہاں ہے. 468 00:36:03,040 --> 00:36:07,230 >> اب، ہمیشہ آپ سے سوال کریں، "بہتر ہے کہ ہم کر سکتے ہیں؟" 469 00:36:07,230 --> 00:36:12,390 اور خاص طور پر، ہم یہ ایک مسئلہ ہے ہم نے پہلے سے ہی حل کر لیا کم کر سکتے ہیں؟ 470 00:36:12,390 --> 00:36:20,040 ایک اشارہ: ہم صرف اس سے پہلے دو دیگر مسائل پر گفتگو کی، اور اس شفل نہیں. 471 00:36:20,040 --> 00:36:26,200 ہم زیادہ سے زیادہ subarray مسئلہ میں اس اسٹاک مارکیٹ کے مسائل کو تبدیل کر سکتے ہیں. 472 00:36:26,200 --> 00:36:40,100 ہم یہ کیسے کر سکتے ہیں؟ 473 00:36:40,100 --> 00:36:42,570 تم میں سے ایک ہے؟ ایمی؟ 474 00:36:42,570 --> 00:36:47,680 (ایمی، unintelligible) 475 00:36:47,680 --> 00:36:53,860 [یو] بالکل. 476 00:36:53,860 --> 00:36:59,940 زیادہ سے زیادہ subarray مسئلہ تو، 477 00:36:59,940 --> 00:37:10,610 ہم مسلسل subarray پر رقم کے لئے تلاش کر رہے ہیں. 478 00:37:10,610 --> 00:37:16,230 اور اسٹاک مسئلہ کے لئے ایمی تجویز 479 00:37:16,230 --> 00:37:30,720 تبدیلی، یا deltas پر غور کریں. 480 00:37:30,720 --> 00:37:37,440 اور اس کی ایک تصویر ہے - یہ اسٹاک کی قیمت ہے، 481 00:37:37,440 --> 00:37:42,610 لیکن اگر ہم ہر روز کے درمیان کا فرق لے لیا - 482 00:37:42,610 --> 00:37:45,200 تو ہم دیکھتے ہیں کہ زیادہ سے زیادہ قیمت کی زیادہ سے زیادہ منافع، ہم بنا سکتے ہیں 483 00:37:45,200 --> 00:37:50,070 اگر ہم یہاں سے خریدنے اور یہاں فروخت ہے. 484 00:37:50,070 --> 00:37:54,240 لیکن مسلسل میں دیکھو - subarray مسئلہ کو دیکھو. 485 00:37:54,240 --> 00:38:02,510 تو یہاں ہم کر سکتے ہیں - یہاں سے یہاں جانے، 486 00:38:02,510 --> 00:38:08,410 ہم نے ایک مثبت تبدیلی ہے، اور پھر یہاں سے یہاں جا ہم ایک منفی تبدیلی ہے. 487 00:38:08,410 --> 00:38:14,220 لیکن اس وقت، یہاں سے یہاں جا ہم نے ایک بہت بڑی مثبت تبدیلی ہے. 488 00:38:14,220 --> 00:38:20,930 اور ان تبدیلیوں کو کہ ہم نے ہماری آخری منافع حاصل کرنے کے لئے خلاصہ کرنا چاہتے ہیں ہیں. 489 00:38:20,930 --> 00:38:25,160 پھر ہم زیادہ منفی تبدیلیاں یہاں ہے. 490 00:38:25,160 --> 00:38:29,990 ہمارے زیادہ سے زیادہ subarray مسئلہ میں ہمارے اسٹاک مسئلہ کو کم کرنے کی کلید 491 00:38:29,990 --> 00:38:36,630 دن کے درمیان deltas پر غور کرنے کے لئے ہے ہے. 492 00:38:36,630 --> 00:38:40,630 تو ہم نامی ایک نیا deltas صف کو تشکیل دیتے ہیں، 493 00:38:40,630 --> 00:38:43,000 سب سے پہلے 0 کے لیے لاگ ان ابتدا، 494 00:38:43,000 --> 00:38:46,380 اور پھر ہر ڈیلٹا کے لئے (i) کے دو، یہ فرق ہونا 495 00:38:46,380 --> 00:38:52,830 میری ان پٹ صف (میں)، اور صف (میں - 1). 496 00:38:52,830 --> 00:38:55,530 اس وقت ہم نے اپنے ایک زیادہ سے زیادہ subarray کے لئے معمول کے عمل کی کال 497 00:38:55,530 --> 00:39:01,500 ایک ڈیلٹا کی صف میں گزرنے والے. 498 00:39:01,500 --> 00:39:06,440 اور اس وجہ سے زیادہ سے زیادہ subarray لکیری وقت ہے، 499 00:39:06,440 --> 00:39:09,370 اور یہ کمی، اس ڈیلٹا صف بنانے کے اس عمل، 500 00:39:09,370 --> 00:39:11,780 بھی لکیری وقت ہے، 501 00:39:11,780 --> 00:39:19,060 تو اسٹاک کے لئے حتمی حل O (ن) کے کام کے علاوہ O (ن) کا کام ہے، اب بھی O (ن) کا کام ہے. 502 00:39:19,060 --> 00:39:23,900 تو ہم ایک لکیری وقت ہمارا مسئلہ حل ہے. 503 00:39:23,900 --> 00:39:29,610 کیا سب اس تبدیلی کو سمجھنے میں؟ 504 00:39:29,610 --> 00:39:32,140 >> عام طور پر، ایک اچھا خیال ہے کہ آپ کو ہمیشہ ہونا چاہئے 505 00:39:32,140 --> 00:39:34,290 ایک نیا مسئلہ یہ ہے کہ آپ دیکھ رہے ہیں کو کم کرنے کی کوشش کریں. 506 00:39:34,290 --> 00:39:37,700 اگر یہ ایک پرانا مسئلہ سے واقف لگ رہی ہے، 507 00:39:37,700 --> 00:39:39,590 یہ ایک پرانا مسئلہ کو کم کرنے کی کوشش کریں. 508 00:39:39,590 --> 00:39:41,950 اور اگر آپ تمام اوزار ہے کہ آپ پرانے مسئلہ پر استعمال کیا جاتا ہے کا استعمال کر سکتے ہیں 509 00:39:41,950 --> 00:39:46,450 نئے مسئلے کو حل کرنے کے لئے. 510 00:39:46,450 --> 00:39:49,010 تو لپیٹ، تکنیکی انٹرویو کا چیلنج کر رہے ہیں. 511 00:39:49,010 --> 00:39:52,280 یہ مسائل شاید زیادہ مشکل مسائل میں سے کچھ یہ ہیں 512 00:39:52,280 --> 00:39:54,700 ہے کہ آپ کو ایک انٹرویو میں دیکھ سکتے ہیں، 513 00:39:54,700 --> 00:39:57,690 اگر ایسا ہے تو آپ تمام مسائل سمجھ میں نہیں آ رہا ہے کہ میں صرف احاطہ کرتا ہے، یہ ٹھیک ہے. 514 00:39:57,690 --> 00:40:01,080 یہ زیادہ مشکل مسائل میں سے کچھ ہیں. 515 00:40:01,080 --> 00:40:03,050 مشق، مشق، مشق کرتے ہیں. 516 00:40:03,050 --> 00:40:08,170 میں پرچہ میں مسائل کی ایک بہت کیا ہے، تو یقینی طور پر ان لوگوں کو باہر چیک کرنے کے لیے ہے. 517 00:40:08,170 --> 00:40:11,690 اور آپ کے انٹرویو پر اچھی قسمت ہے. میرے تمام وسائل کو اس لنک میں تعینات ہیں، 518 00:40:11,690 --> 00:40:15,220 اور اپنے ایران کے دوستوں میں سے ایک فرضی تکنیکی انٹرویو کرنے کی پیشکش کی ہے، 519 00:40:15,220 --> 00:40:22,050 اگر ایسا ہے تو آپ کو دلچسپی ہو، ای میل اس ای میل ایڈریس پر Yao ول. 520 00:40:22,050 --> 00:40:26,070 اگر آپ کے کچھ سوالات ہیں، تو تم مجھ سے پوچھ سکتے ہیں. 521 00:40:26,070 --> 00:40:28,780 کیا تم لوگ مخصوص تکنیکی انٹرویو سے متعلق سوالات ہیں 522 00:40:28,780 --> 00:40:38,440 یا کسی بھی مسائل ہم نے اب تک دیکھا ہے؟ 523 00:40:38,440 --> 00:40:49,910 ٹھیک ہے. ٹھیک ہے، آپ کے انٹرویو پر اچھی قسمت ہے. 524 00:40:49,910 --> 00:40:52,910 [CS50.TV]