1 00:00:00,000 --> 00:00:02,570 [Powered by Google Translate] [סעקשאַן 3 - מער באַקוועם] 2 00:00:02,570 --> 00:00:05,070 [ראָב באָוודען - האַרוואַרד אוניווערסיטעט] 3 00:00:05,070 --> 00:00:07,310 >> [דאס איז קס50. - CS50.TV] 4 00:00:07,310 --> 00:00:12,700 >> אַזוי דער ערשטער קשיא איז סטריינדזשלי ווערדיד. 5 00:00:12,700 --> 00:00:17,480 גדב לעץ איר "דעבוג" אַ פּראָגראַם, אָבער, מער ספּאַסיפיקלי, וואָס טוט עס לאָזן איר טאָן? 6 00:00:17,480 --> 00:00:22,590 איך וועט ענטפֿערן אַז איינער, און איך טאָן ניט וויסן וואָס ס פּונקט דערוואַרט, 7 00:00:22,590 --> 00:00:27,910 אַזוי איך בין געסינג עס ס 'עפּעס צוזאמען די שורות פון עס לעץ איר שריט דורך שריט 8 00:00:27,910 --> 00:00:31,540 גיין דורך די פּראָגראַם, ינטעראַקט מיט עס, טוישן וועריאַבאַלז, טאָן אַלע די זאכן - 9 00:00:31,540 --> 00:00:34,270 בייסיקלי גאָר קאָנטראָל דורכפירונג פון אַ פּראָגראַם 10 00:00:34,270 --> 00:00:38,410 און דורכקוקן קיין געגעבן טייל פון דער דורכפירונג פון דער פּראָגראַם. 11 00:00:38,410 --> 00:00:43,030 אַזוי יענע פֿעיִקייטן לאָזן איר דעבוג זאכן. 12 00:00:43,030 --> 00:00:44,830 אָוקיי. 13 00:00:44,830 --> 00:00:50,520 וואָס טוט ביינערי זוכן דאַרפן אַז אַ מענגע זייַן אויסגעשטעלט? 14 00:00:50,520 --> 00:00:53,360 ווער וויל צו ענטפֿערן וואָס? 15 00:00:56,120 --> 00:01:00,070 [תּלמיד] ווייַל עס טוט נישט אַרבעטן אויב עס ס נישט אויסגעשטעלט. >> יאָ. [געלעכטער] 16 00:01:00,070 --> 00:01:04,910 אויב עס ס נישט אויסגעשטעלט, דעמאָלט עס ס אוממעגלעך צו שפּאַלטן עס אין העלפט 17 00:01:04,910 --> 00:01:07,850 און וויסן אַז אַלץ צו דער לינקס איז ווייניקער און אַלץ צו די רעכט 18 00:01:07,850 --> 00:01:10,490 איז גרעסער ווי די מיטל ווערט. 19 00:01:10,490 --> 00:01:12,790 אַזוי עס דאַרף צו זייַן אויסגעשטעלט. 20 00:01:12,790 --> 00:01:14,170 אָוקיי. 21 00:01:14,170 --> 00:01:17,570 פארוואס איז בלאָז סאָרט אין אָ פון N סקווערד? 22 00:01:17,570 --> 00:01:23,230 טוט ווער עס יז ערשטער ווילן צו געבן אַ זייער שנעל הויך-מדרגה איבערבליק פון וואָס בלאָז סאָרט איז? 23 00:01:25,950 --> 00:01:33,020 [תּלמיד] איר בייסיקלי גיין דורך יעדער עלעמענט און איר טשעק דער ערשטער ביסל עלעמענטן. 24 00:01:33,020 --> 00:01:37,150 אויב זיי ניטאָ אויס פון ווו איר ויסבייַטן זיי, דעריבער איר טשעק דער ווייַטער ביסל יסודות און אַזוי אויף. 25 00:01:37,150 --> 00:01:40,770 ווען איר דערגרייכן די סוף, דעמאָלט איר וויסן אַז דער גרעסטער עלעמענט איז געשטעלט אין די סוף, 26 00:01:40,770 --> 00:01:42,750 אַזוי איר איגנאָרירן אַז מען דעמאָלט איר האַלטן אויף געגאנגען דורך, 27 00:01:42,750 --> 00:01:48,490 און יעדער צייַט איר האָבן צו קאָנטראָלירן איינער ווייניקער עלעמענט ביז איר מאַכן קיין ענדערונגען. >> יאָ. 28 00:01:48,490 --> 00:01:58,470 עס ס גערופן בלאָז סאָרט ווייַל אויב איר פליפּ די מענגע אויף זייַן זייַט אַזוי עס ס אַרויף און אַראָפּ, ווערטיקאַל, 29 00:01:58,470 --> 00:02:03,100 דעריבער די גרויס וואַלועס וועט זינקען צו די דנאָ און די קליין וואַלועס וועט בלאָז אַרויף צו די שפּיץ. 30 00:02:03,100 --> 00:02:05,210 אַז ס ווי עס גאַט זייַן נאָמען. 31 00:02:05,210 --> 00:02:08,220 און יאָ, איר נאָר גיין דורך. 32 00:02:08,220 --> 00:02:11,190 איר האַלטן געגאנגען דורך די מענגע, סוואַפּינג די גרעסערע ווערט 33 00:02:11,190 --> 00:02:14,040 צו באַקומען די גרעסטע וואַלועס צו די דנאָ. 34 00:02:14,040 --> 00:02:17,500 >> פארוואס איז עס אָ פון N סקווערד? 35 00:02:18,690 --> 00:02:24,620 ערשטער, טוט ווער עס יז ווילן צו זאָגן וואָס עס ס אָ פון N סקווערד? 36 00:02:24,620 --> 00:02:28,760 [תּלמיד] ווייַל פֿאַר יעדער לויפן עס גייט N מאל. 37 00:02:28,760 --> 00:02:32,100 איר קענען נאָר זייַן זיכער אַז איר ווע גענומען די ביגאַסט עלעמענט אַלע די וועג אַראָפּ, 38 00:02:32,100 --> 00:02:35,230 דעמאָלט איר האָבן צו איבערחזרן אַז פֿאַר ווי פילע עלעמענטן. >> יאָ. 39 00:02:35,230 --> 00:02:41,800 אַזוי האַלטן אין גייַסט וואָס גרויס אָ מיטל און וואָס גרויס תוו מיטל. 40 00:02:41,800 --> 00:02:50,560 די גרויס אָ איז ווי דער אויבערשטער געבונדן אויף ווי פּאַמעלעך עס קענען פאקטיש לויפן. 41 00:02:50,560 --> 00:02:58,990 אַזוי דורך זאגן עס ס אָ פון N סקווערד, עס איז נישט אָ פון N אָדער אַנדערש עס וואָלט זייַן ביכולת צו לויפן 42 00:02:58,990 --> 00:03:02,640 אין לינעאַר צייַט, אָבער עס איז אָ פון N קיובד 43 00:03:02,640 --> 00:03:06,390 ווייַל עס איז באַונדאַד דורך אָ פון N קיובד. 44 00:03:06,390 --> 00:03:12,300 אויב עס ס באַונדאַד דורך אָ פון N סקווערד, דעמאָלט עס ס באַונדאַד אויך דורך N קיובד. 45 00:03:12,300 --> 00:03:20,280 אַזוי עס איז N סקווערד, און אין די אַבסאָלוט ערגסט פאַל עס קענען נישט טאָן בעסער ווי N סקווערד, 46 00:03:20,280 --> 00:03:22,830 וואָס איז וואָס עס ס אָ פון N סקווערד. 47 00:03:22,830 --> 00:03:31,200 אַזוי צו זען קליין מאַט אין ווי עס קומט אויס צו זייַן N סקווערד, 48 00:03:31,200 --> 00:03:40,530 אויב מיר האָבן פינף זאכן אין אונדזער רשימה, די ערשטער מאָל ווי פילע סוואַפּס קען מיר פּאַטענטשאַלי דאַרפֿן צו מאַכן 49 00:03:40,530 --> 00:03:47,170 אין סדר צו באַקומען דעם? זאל ס 'פאקטיש פּונקט - 50 00:03:47,170 --> 00:03:52,040 ווי פילע סוואַפּס זענען מיר געגאנגען צו האָבן צו מאַכן אין דער ערשטער לויפן פון בלאָז סאָרט דורך די מענגע? 51 00:03:52,040 --> 00:03:53,540 [תּלמיד] N - 1. >> יאָ. 52 00:03:53,540 --> 00:03:58,340 >> אויב עס זענען 5 עלעמענטן, מיר רע געגאנגען צו דאַרפֿן צו מאַכן N - 1. 53 00:03:58,340 --> 00:04:01,100 דעמאָלט אויף די רגע איינער ווי פילע סוואַפּס זענען מיר געגאנגען צו האָבן צו מאַכן? 54 00:04:01,100 --> 00:04:03,440 [תּלמיד] N - 2. >> יאָ. 55 00:04:03,440 --> 00:04:11,640 און די דריט איז געגאנגען צו זייַן N - 3, און דעמאָלט פֿאַר קאַנוויניאַנס איך וועל שרייַבן די לעצטע צוויי 56 00:04:11,640 --> 00:04:15,270 ווי דעמאָלט מיר רע געגאנגען צו דאַרפֿן צו מאַכן 2 סוואַפּס און 1 ויסבייַטן. 57 00:04:15,270 --> 00:04:19,899 איך טרעפן די לעצטע איינער זאל אָדער זאל נישט פאקטיש דאַרפֿן צו פּאַסירן. 58 00:04:19,899 --> 00:04:22,820 איז עס אַ ויסבייַטן? איך טאָן ניט וויסן. 59 00:04:22,820 --> 00:04:26,490 אַזוי די ביסט די גאַנץ אַמאַונץ פון סוואַפּס אָדער בייַ מינדסטער קאַמפּעראַסאַנז איר האָבן צו מאַכן. 60 00:04:26,490 --> 00:04:29,910 אפילו אויב איר טאָן ניט ויסבייַטן, איר נאָך דאַרפֿן צו פאַרגלייַכן די וואַלועס. 61 00:04:29,910 --> 00:04:33,910 אַזוי עס זענען N - 1 קאַמפּעראַסאַנז אין דער ערשטער לויפן דורך די מענגע. 62 00:04:33,910 --> 00:04:42,050 אויב איר ריעריינדזש די זאכן, לאָזן ס פאקטיש מאַכן עס זעקס זאכן אַזוי דאס אָנלייגן אַרויף נייסלי, 63 00:04:42,050 --> 00:04:44,790 און דעמאָלט איך וועט טאָן 3, 2, 1. 64 00:04:44,790 --> 00:04:49,910 אַזוי נאָר ריעריינדזשינג די סאַמז, מיר ווילן צו זען ווי פילע קאַמפּעראַסאַנז מיר מאַכן 65 00:04:49,910 --> 00:04:52,700 אין די גאנצע אַלגערידאַם. 66 00:04:52,700 --> 00:04:56,550 אַזוי אויב מיר ברענגען די גייז אַראָפּ דאָ, 67 00:04:56,550 --> 00:05:07,470 דעמאָלט מיר ניטאָ נאָך נאָר סאַמינג אָבער פילע קאַמפּעראַסאַנז דאָרט געווען. 68 00:05:07,470 --> 00:05:13,280 אבער אויב מיר סאַכאַקל די און מיר סאַכאַקל די און מיר סאַכאַקל די, 69 00:05:13,280 --> 00:05:18,130 עס ס נאָך די זעלבע פּראָבלעם. מיר נאָר סאַכאַקל יענע באַזונדער גרופּעס. 70 00:05:18,130 --> 00:05:22,400 >> אַזוי איצט מיר רע סאַמינג 3 N ס. עס ס נישט נאָר 3 N ס. 71 00:05:22,400 --> 00:05:27,650 עס ס שטענדיק געגאנגען צו זייַן N / 2 N ס. 72 00:05:27,650 --> 00:05:29,430 אַזוי דאָ מיר פּאַסירן צו האָבן 6. 73 00:05:29,430 --> 00:05:34,830 אויב מיר האט 10 זאכן, דעריבער מיר קען טאָן דעם גרופּינג פֿאַר 5 פאַרשידענע פּערז פון זאכן 74 00:05:34,830 --> 00:05:37,180 און סוף אַרויף מיט N + N + N + N + N. 75 00:05:37,180 --> 00:05:45,840 אַזוי איר ניטאָ שטענדיק געגאנגען צו באַקומען N / 2 N ס, און אַזוי דאָס מיר וועט דזשאַט עס אויס צו N סקווערד / 2. 76 00:05:45,840 --> 00:05:48,890 און אַזוי אַפֿילו כאָטש עס ס דער פאַקטאָר פון העלפט, וואָס כאַפּאַנז צו קומען אין 77 00:05:48,890 --> 00:05:54,190 ווייַל פון די פאַקט אַז דורך יעדער יטעראַטיאָן איבער די מענגע מיר פאַרגלייַכן 1 ווייניקער 78 00:05:54,190 --> 00:05:58,040 אַזוי אַז ס ווי מיר באַקומען די איבער 2, אָבער עס איז נאָך N סקווערד. 79 00:05:58,040 --> 00:06:01,650 מיר טאָן ניט זאָרגן וועגן די קעסיידערדיק פאַקטאָר פון אַ האַלב. 80 00:06:01,650 --> 00:06:07,760 אַזוי אַ פּלאַץ פון גרויס אָ שטאָפּן ווי דעם רעליעס אויף נאָר מין פון טאן דעם סאָרט פון מאַט, 81 00:06:07,760 --> 00:06:12,260 טאן אַריטמעטיק סאַמז און דזשיאַמעטריק סעריע שטאָפּן, 82 00:06:12,260 --> 00:06:17,750 אָבער רובֿ פון זיי אין דעם קורס זענען שיין סטרייטפאָרווערד. 83 00:06:17,750 --> 00:06:19,290 אָוקיי. 84 00:06:19,290 --> 00:06:24,430 פארוואס איז ינסערשאַן סאָרט אין תוו פון ען? וואָס טוט תוו מיינען? 85 00:06:24,430 --> 00:06:27,730 [צוויי סטודענטן גערעדט בייַ אַמאָל - אַנינטעלאַדזשאַבאַל] >> יאָ. 86 00:06:27,730 --> 00:06:30,630 תוו איר קענען טראַכטן פון ווי דער נידעריקער געבונדן. 87 00:06:30,630 --> 00:06:36,550 >> אַזוי קיין ענין ווי עפעקטיוו דיין ינסערשאַן סאָרט אַלגערידאַם איז, 88 00:06:36,550 --> 00:06:41,810 ראַגאַרדלאַס פון דער רשימה אַז ס דורכגעגאנגען אין, עס שטענדיק האט צו פאַרגלייַכן בייַ מינדסטער N זאכן 89 00:06:41,810 --> 00:06:44,620 אָדער עס האט צו יטעראַטע איבער N זאכן. 90 00:06:44,620 --> 00:06:47,280 פארוואס איז וואָס? 91 00:06:47,280 --> 00:06:51,190 [תּלמיד] ווייַל אויב דער רשימה איז שוין אויסגעשטעלט, דעמאָלט דורך דער ערשטער יטעראַטיאָן 92 00:06:51,190 --> 00:06:54,080 איר קענען בלויז גאַראַנטירן אַז די זייער ערשטער עלעמענט איז דער מינדסטער, 93 00:06:54,080 --> 00:06:56,490 און די רגע יטעראַטיאָן איר קענען בלויז גאַראַנטירן די ערשטער צוויי זענען 94 00:06:56,490 --> 00:07:00,010 ווייַל איר טאָן ניט וויסן אַז די מנוחה פון די רשימה איז אויסגעשטעלט. >> יאָ. 95 00:07:00,010 --> 00:07:08,910 אויב איר פאָרן אין אַ גאָר אויסגעשטעלט רשימה, אין די זייער מינדסטער איר האָבן צו גיין איבער אַלע די יסודות 96 00:07:08,910 --> 00:07:12,180 צו זען אַז גאָרנישט דאַרף צו זייַן אריבערגעפארן אַרום. 97 00:07:12,180 --> 00:07:14,720 אַזוי גייט פארביי איבער דער רשימה און זאגן טאַקע, דאָס איז שוין אויסגעשטעלט, 98 00:07:14,720 --> 00:07:18,240 עס ס אוממעגלעך פֿאַר איר צו וויסן עס ס אויסגעשטעלט ביז איר טשעק יעדער עלעמענט 99 00:07:18,240 --> 00:07:20,660 צו זען אַז זיי זענען אין אויסגעשטעלט סדר. 100 00:07:20,660 --> 00:07:25,290 אַזוי דער נידעריקער געבונדן אויף ינסערשאַן סאָרט איז תוו פון ען. 101 00:07:25,290 --> 00:07:28,210 וואָס ס די ערגסט פאַל פליסנדיק צייַט פון צונויפגיסן סאָרט, 102 00:07:28,210 --> 00:07:31,390 ערגסט פאַל זייַענדיק גרויס אָ ווידער? 103 00:07:31,390 --> 00:07:37,660 אַזוי אין די ערגסט פאַל סצענאַר, ווי טוט צונויפגיסן סאָרט לויפן? 104 00:07:42,170 --> 00:07:43,690 [תּלמיד] ען קלאָץ ען. >> יאָ. 105 00:07:43,690 --> 00:07:49,990 די פאַסטאַסט גענעראַל סאָרטינג אַלגערידאַמז זענען N קלאָץ ען. איר קענען נישט טאָן בעסער. 106 00:07:51,930 --> 00:07:55,130 >> עס זענען ספּעציעל קאַסעס, און אויב מיר האָבן צייַט הייַנט - אָבער מיר מיסטאָמע וואָונט - 107 00:07:55,130 --> 00:07:59,330 מיר קען זען איינער וואָס טוט בעסער ווי N קלאָץ ען. 108 00:07:59,330 --> 00:08:04,050 אבער אין די אַלגעמיינע פאַל, איר קענען נישט טאָן בעסער ווי N קלאָץ ען. 109 00:08:04,050 --> 00:08:09,680 און צונויפגיסן סאָרט כאַפּאַנז צו זייַן די איין איר זאָל וויסן פֿאַר דעם קורס, וואס איז N קלאָץ ען. 110 00:08:09,680 --> 00:08:13,260 און אַזוי מיר וועט פאקטיש זייַן ימפּלאַמענינג אַז הייַנט. 111 00:08:13,260 --> 00:08:18,070 און ענדלעך, אין ניט מער ווי דרייַ זאצן, ווי טוט סעלעקציע סאָרט אַרבעט? 112 00:08:18,070 --> 00:08:20,370 טוט עמעצער ווילן צו ענטפֿערן, און איך וועט ציילן דיין זאצן 113 00:08:20,370 --> 00:08:22,390 ווייַל אויב איר גיין איבער 3 - 114 00:08:25,530 --> 00:08:28,330 טוט ווער עס יז געדענקען סעלעקציע סאָרט? 115 00:08:31,280 --> 00:08:37,809 סעלעקציע סאָרט איז יוזשאַוואַלי שיין גרינג צו געדענקען נאָר פון די נאָמען. 116 00:08:37,809 --> 00:08:45,350 איר נאָר יטעראַטע איבער די מענגע, געפֿינען וועלכער דער גרעסטער ווערט איז אָדער קלענסטער - 117 00:08:45,350 --> 00:08:47,290 וועלכער סדר איר ניטאָ סאָרטינג ין 118 00:08:47,290 --> 00:08:50,750 אַזוי לאָזן ס זאָגן מיר רע סאָרטינג פון קלענסטער צו גרעסטע. 119 00:08:50,750 --> 00:08:55,250 איר יטעראַטע איבער די מענגע, זוכן פֿאַר וועלכער די מינימום עלעמענט איז, 120 00:08:55,250 --> 00:08:59,750 אויסקלייַבן עס, און דעמאָלט נאָר ויסבייַטן עס וועלכער איז אין דער ערשטער אָרט. 121 00:08:59,750 --> 00:09:04,090 און דעמאָלט אויף די רגע פאָרן איבער די מענגע, קוק פֿאַר די מינימום עלעמענט ווידער, 122 00:09:04,090 --> 00:09:07,490 אויסקלייַבן עס, און דעמאָלט ויסבייַטן עס מיט וואָס ס אין די רגע שטעלע. 123 00:09:07,490 --> 00:09:10,650 אַזוי מיר זענען נאָר פּיקינג און טשוזינג די מינימום וואַלועס 124 00:09:10,650 --> 00:09:16,050 און ינסערטינג זיי אין די פראָנט פון די מענגע ביז עס איז אויסגעשטעלט. 125 00:09:19,210 --> 00:09:21,560 שאלות אויף וואָס? 126 00:09:21,560 --> 00:09:25,710 >> די ינעוואַטאַבלי דערשייַנען אין די פארמען איר האָבן צו פּלאָמבירן אויס ווען איר ניטאָ סאַבמיטינג די פּסעט. 127 00:09:29,010 --> 00:09:32,360 יענע זענען בייסיקלי די ענטפֿערס צו יענע. 128 00:09:32,360 --> 00:09:34,230 אָוקיי, אַזוי איצט קאָודינג פּראָבלעמס. 129 00:09:34,230 --> 00:09:40,140 איך שוין געשיקט אויס איבער בליצפּאָסט - צי ווער עס יז נישט באַקומען אַז Email? אָוקיי. 130 00:09:40,140 --> 00:09:46,630 איך שוין געשיקט אויס איבער Email דעם פּלאַץ אַז מיר רע געגאנגען צו זייַן ניצן, 131 00:09:46,630 --> 00:09:52,120 און אויב איר דריקט אויף מיין נאָמען - אַזוי איך טראַכטן איך בין געגאנגען צו זייַן בייַ די דנאָ 132 00:09:52,120 --> 00:09:57,170 ווייַל פון די קאַפּויער ר - אָבער אויב איר דריקט אויף מיין נאָמען איר וועט זען 2 רעוויזיעס. 133 00:09:57,170 --> 00:10:02,650 רעוויזיע 1 איז געגאנגען צו זייַן איך שוין קאַפּיד און פּייסטיד די קאָד אין ספּאַסעס 134 00:10:02,650 --> 00:10:06,900 פֿאַר די זוכן זאַך איר ניטאָ געגאנגען צו האָבן צו מאַכשער. 135 00:10:06,900 --> 00:10:10,540 און רעוויסיאָן 2 וועט זייַן די סאָרט זאַך וואָס מיר מאַכשער נאָך וואָס. 136 00:10:10,540 --> 00:10:15,770 אַזוי איר קענען גיט אויף מיין רעוויסיאָן 1 און אַרבעט פון דאָרט. 137 00:10:17,350 --> 00:10:22,060 און איצט מיר ווילן צו מאַכשער ביינערי זוכן. 138 00:10:22,060 --> 00:10:26,470 >> טוט ווער עס יז ווילן צו נאָר געבן אַ פּסעודאָקאָדע הויך-מדרגה דערקלערונג 139 00:10:26,470 --> 00:10:31,440 פון וואָס מיר רע געגאנגען צו האָבן צו טאָן פֿאַר זוכן? יאָ. 140 00:10:31,440 --> 00:10:36,170 [תּלמיד] איר נאָר נעמען די מיטן פון די מענגע און זען אויב וואָס איר ניטאָ קוקן פֿאַר 141 00:10:36,170 --> 00:10:38,650 איז ווייניקער ווי אַז אָדער מער ווי אַז. 142 00:10:38,650 --> 00:10:41,080 און אויב עס ס ווייניקער, איר גיין צו די העלפט אַז ס ווייניקער, 143 00:10:41,080 --> 00:10:44,750 און אויב עס ס 'מער, איר גיין צו די העלפט אַז ס מער און איר איבערחזרן אַז ביז איר נאָר באַקומען איין זאַך. 144 00:10:44,750 --> 00:10:46,570 [באָוודען] יאָ. 145 00:10:46,570 --> 00:10:51,320 נאָטיץ אַז אונדזער נומערן מענגע איז שוין אויסגעשטעלט, 146 00:10:51,320 --> 00:10:57,190 און אַזוי אַז מיטל וואָס מיר קענען נעמען מייַלע פון ​​וואָס און מיר קען ערשטער טשעק, 147 00:10:57,190 --> 00:11:00,390 אָוקיי, איך בין קוקן פֿאַר די נומער 50. 148 00:11:00,390 --> 00:11:03,720 אַזוי איך קענען גיין אין דער מיטן. 149 00:11:03,720 --> 00:11:07,380 מיטל איז שווער צו דעפינירן ווען עס ס אַן אַפֿילו נומער פון זאכן, 150 00:11:07,380 --> 00:11:10,820 אָבער לאָזן ס נאָר זאָגן מיר וועט שטענדיק טראַנגקייט צו די מיטל. 151 00:11:10,820 --> 00:11:14,420 אַזוי דאָ מיר האָבן 8 זאכן, אַזוי די מיטל וואָלט זייַן 16. 152 00:11:14,420 --> 00:11:17,330 איך בין קוקן פֿאַר 50, אַזוי 50 איז גרעסער ווי 16. 153 00:11:17,330 --> 00:11:21,310 אַזוי איצט איך קענען בייסיקלי מייַכל מיין מענגע ווי די יסודות. 154 00:11:21,310 --> 00:11:23,450 איך קענען וואַרפן אַוועק אַלץ פון 16 איבער. 155 00:11:23,450 --> 00:11:27,440 איצט מיין מענגע איז נאָר די 4 יסודות, און איך איבערחזרן. 156 00:11:27,440 --> 00:11:31,910 אַזוי דעמאָלט איך ווילן צו געפֿינען די מיטל ווידער, וואָס איז געגאנגען צו זייַן 42. 157 00:11:31,910 --> 00:11:34,730 42 איז ווייניקער ווי 50, אַזוי איך קענען וואַרפן אַוועק די צוויי יסודות. 158 00:11:34,730 --> 00:11:36,890 דאס איז מיין רוען מענגע. 159 00:11:36,890 --> 00:11:38,430 איך בין געגאנגען צו געפֿינען די מיטל ווידער. 160 00:11:38,430 --> 00:11:42,100 איך טרעפן 50 איז געווען אַ שלעכט בייַשפּיל ווייַל איך איז געווען שטענדיק פארווארפן אַוועק זאכן צו די לינקס, 161 00:11:42,100 --> 00:11:48,280 אָבער דורך די זעלבע מאָס, אויב איך בין קוקן פֿאַר עפּעס 162 00:11:48,280 --> 00:11:52,100 און עס ס ווייניקער ווי די עלעמענט איך בין דערווייַל קוקן בייַ, 163 00:11:52,100 --> 00:11:55,080 דעמאָלט איך בין געגאנגען צו וואַרפן אַוועק אַלץ צו די רעכט. 164 00:11:55,080 --> 00:11:58,150 אַזוי איצט מיר דאַרפֿן צו מאַכשער אַז. 165 00:11:58,150 --> 00:12:02,310 נאָטיץ אַז מיר דאַרפֿן צו פאָרן אין גרייס. 166 00:12:02,310 --> 00:12:06,730 מיר קענען אויך ניט דאַרפֿן צו שווער-קאָד גרייס. 167 00:12:06,730 --> 00:12:11,640 אַזוי אויב מיר באַקומען באַפרייַען פון וואָס # דעפינירן - 168 00:12:19,630 --> 00:12:21,430 אָוקיי. 169 00:12:21,430 --> 00:12:27,180 ווי קענען איך נייסלי רעכענען אויס וואָס די גרייס פון די נומערן מענגע דערווייַל איז? 170 00:12:27,180 --> 00:12:30,950 >> ווי פילע עלעמענטן זענען אין די נומערן מענגע? 171 00:12:30,950 --> 00:12:33,630 [תּלמיד] נומערן, בראַקאַץ,. לענג? 172 00:12:33,630 --> 00:12:36,600 [באָוודען] אַז טוט נישט עקסיסטירן אין סי 173 00:12:36,600 --> 00:12:38,580 דאַרפֿן. לענג. 174 00:12:38,580 --> 00:12:42,010 ערייז טאָן ניט האָבן פּראָפּערטיעס, אַזוי עס איז ניט לענג פאַרמאָג פון ערייז 175 00:12:42,010 --> 00:12:45,650 אַז וועט נאָר געבן איר אָבער לאַנג עס כאַפּאַנז צו זייַן. 176 00:12:48,180 --> 00:12:51,620 [תּלמיד] זען ווי פיל זכּרון עס האט און טיילן דורך ווי פיל - >> יאָ. 177 00:12:51,620 --> 00:12:55,810 אַזוי ווי קענען מיר זען ווי פיל זכּרון עס האט? >> [תּלמיד] סיזעאָף. >> יאָ, סיזעאָף. 178 00:12:55,810 --> 00:13:01,680 סיזעאָף איז דער אָפּעראַטאָר אַז ס 'געגאנגען צו צוריקקומען די גרייס פון די נומערן מענגע. 179 00:13:01,680 --> 00:13:10,060 און אַז ס 'געגאנגען צו זייַן אָבער פילע ינטאַדזשערז עס זענען מאל די גרייס פון אַ ינטעגער 180 00:13:10,060 --> 00:13:14,050 זינט אַז ס ווי פיל זכּרון עס ס 'פאקטיש גענומען אַרויף. 181 00:13:14,050 --> 00:13:17,630 אַזוי אויב איך ווילן די נומער פון זאכן אין די מענגע, 182 00:13:17,630 --> 00:13:20,560 דעמאָלט איך בין געגאנגען צו ווילן צו טיילן דורך די גרייס פון אַ ינטעגער. 183 00:13:22,820 --> 00:13:26,010 אָוקיי. אַזוי אַז לעץ מיר פאָרן אין גרייס דאָ. 184 00:13:26,010 --> 00:13:29,430 פארוואס טאָן איך דאַרפֿן צו פאָרן אין גרייס אין אַלע? 185 00:13:29,430 --> 00:13:38,570 פארוואס קענען ניט איך נאָר טאָן אַרויף דאָ ינט גרייס = סיזעאָף (כייסטאַק) / סיזעאָף (ינט)? 186 00:13:38,570 --> 00:13:41,490 פארוואס טוט דאָס נישט אַרבעטן? 187 00:13:41,490 --> 00:13:44,470 [תּלמיד] עס ס נישט אַ גלאבאלע בייַטעוודיק. 188 00:13:44,470 --> 00:13:51,540 [באָוודען] הייַסטאַקק יגזיסץ און מיר רע גייט פארביי אין נומערן ווי כייסטאַק, 189 00:13:51,540 --> 00:13:54,700 און דאָס איז מין פון אַ פאָרשאַדאָוינג פון וואָס ס צו קומען. יאָ. 190 00:13:54,700 --> 00:14:00,170 [תּלמיד] הייַסטאַקק איז נאָר די דערמאָנען צו עס, אַזוי עס וואָלט צוריקקומען ווי גרויס אַז דערמאָנען איז. 191 00:14:00,170 --> 00:14:02,150 יאָ. 192 00:14:02,150 --> 00:14:09,000 איך צווייפל אין לעקציע אַז איר ווע געזען דעם אָנלייגן נאָך טאַקע, רעכט? 193 00:14:09,000 --> 00:14:11,270 מיר ווע נאָר גערעדט וועגן אים. 194 00:14:11,270 --> 00:14:16,090 אַזוי דעם אָנלייגן איז ווו אַלע פון ​​דיין וועריאַבאַלז זענען געגאנגען צו זייַן סטאָרד. 195 00:14:16,090 --> 00:14:19,960 >> קיין זכּרון אַז ס אַלאַקייטיד פֿאַר היגע וועריאַבאַלז איז געגאנגען אין דעם אָנלייגן, 196 00:14:19,960 --> 00:14:24,790 און יעדער פֿונקציע געץ זייַן אייגן פּלאַץ אויף די אָנלייגן, זייַן אייגן אָנלייגן ראַם איז וואָס עס ס גערופן. 197 00:14:24,790 --> 00:14:31,590 אַזוי הויפּט האט זייַן אָנלייגן ראַם, און ין פון עס איז געגאנגען צו עקזיסטירן דעם נומערן מענגע, 198 00:14:31,590 --> 00:14:34,270 און עס ס געגאנגען צו זייַן פון גרייס סיזעאָף (נומערן). 199 00:14:34,270 --> 00:14:38,180 עס ס געגאנגען צו האָבן גרייס פון נומערן צעטיילט דורך גרייס פון עלעמענטן, 200 00:14:38,180 --> 00:14:42,010 אָבער אַז אַלע לעבן ין הויפּט ס אָנלייגן ראַם. 201 00:14:42,010 --> 00:14:45,190 ווען מיר רופן זוכן, זוכן געץ זייַן אייגן אָנלייגן ראַם, 202 00:14:45,190 --> 00:14:48,840 זייַן אייגן פּלאַץ צו קראָם אַלע פון ​​זייַן היגע וועריאַבאַלז. 203 00:14:48,840 --> 00:14:56,420 אבער די טענות - אַזוי כייסטאַק איז נישט אַ קאָפּיע פון ​​דעם גאנצע מענגע. 204 00:14:56,420 --> 00:15:00,990 מיר טאָן נישט פאָרן אין די גאנצע מענגע ווי אַ קאָפּיע אין זוכן. 205 00:15:00,990 --> 00:15:04,030 עס נאָר פּאַסיז אַ דערמאָנען צו אַז מענגע. 206 00:15:04,030 --> 00:15:11,470 אַזוי זוכן קענען צוטריט די נומערן דורך דעם דערמאָנען. 207 00:15:11,470 --> 00:15:17,100 עס ס נאָך אַקסעסינג די זאכן וואָס לעבן ין פון הויפּט ס אָנלייגן ראַם, 208 00:15:17,100 --> 00:15:22,990 אָבער בייסיקלי, ווען מיר באַקומען צו פּוינטערז, וואָס זאָל זייַן באַלד, 209 00:15:22,990 --> 00:15:24,980 דאָס איז וואָס פּוינטערז זענען. 210 00:15:24,980 --> 00:15:29,400 פּאָינטערס זענען נאָר באַווייַזן צו זאכן, און איר קענען נוצן פּוינטערז צו צוטריט זאכן 211 00:15:29,400 --> 00:15:32,030 וואָס זענען אין אנדערע זאכן 'אָנלייגן ראָמען. 212 00:15:32,030 --> 00:15:37,660 אַזוי אַפֿילו כאָטש נומערן איז היגע צו הויפּט, מיר קענען נאָך צוטריט עס דורך דעם טייַטל. 213 00:15:37,660 --> 00:15:41,770 אבער זינט עס ס נאָר אַ טייַטל און עס ס נאָר אַ דערמאָנען, 214 00:15:41,770 --> 00:15:45,040 סיזעאָף (כייסטאַק) נאָר קערט די גרייס פון דעם דערמאָנען זיך. 215 00:15:45,040 --> 00:15:47,950 עס טוט נישט צוריקקומען די גרייס פון דער זאַך עס ס פּוינטינג צו. 216 00:15:47,950 --> 00:15:51,110 עס טוט נישט צוריקקומען די פאַקטיש גרייס פון נומערן. 217 00:15:51,110 --> 00:15:55,660 און אַזוי דאָס איז נישט געגאנגען צו אַרבעטן ווי מיר ווילן עס צו. 218 00:15:55,660 --> 00:15:57,320 >> שאלות אויף וואָס? 219 00:15:57,320 --> 00:16:03,250 פּאָינטערס וועט זייַן ניטאָ אין אין באטייטיק מער גאָרי דעטאַל אין וואָכן צו קומען. 220 00:16:06,750 --> 00:16:13,740 און דאָס איז וואָס אַ פּלאַץ פון זאכן וואָס איר זען, רובֿ זוכן זאכן אָדער סאָרט זאכן, 221 00:16:13,740 --> 00:16:16,990 זיי ניטאָ כּמעט אַלע געגאנגען צו דאַרפֿן צו נעמען די פאַקטיש גרייס פון דער מענגע, 222 00:16:16,990 --> 00:16:20,440 ווייַל אין C, מיר האָבן קיין געדאַנק וואָס די גרייס פון דעם מענגע איז. 223 00:16:20,440 --> 00:16:22,720 איר דאַרפֿן צו מאַניואַלי פאָרן עס ין 224 00:16:22,720 --> 00:16:27,190 און איר קענען נישט מאַניואַלי פאָרן אין די גאנצע מענגע ווייַל איר ניטאָ נאָר גייט פארביי אין די דערמאָנען 225 00:16:27,190 --> 00:16:30,390 און עס קען נישט באַקומען די גרייס פון דעם דערמאָנען. 226 00:16:30,390 --> 00:16:32,300 אָוקיי. 227 00:16:32,300 --> 00:16:38,160 אַזוי איצט מיר ווילן צו מאַכשער וואָס איז דערקלערט פריער. 228 00:16:38,160 --> 00:16:41,530 איר קענען אַרבעטן אויף עס פֿאַר אַ מינוט, 229 00:16:41,530 --> 00:16:45,250 און איר טאָן ניט האָבן צו זאָרג וועגן געטינג אַלץ בישליימעס 100% ארבעטן. 230 00:16:45,250 --> 00:16:51,410 נאָר שרייַבן אַרויף די האַלב פּסעודאָקאָדע פֿאַר ווי איר טראַכטן עס זאָל אַרבעטן. 231 00:16:52,000 --> 00:16:53,630 אָוקיי. 232 00:16:53,630 --> 00:16:56,350 ניט דאַרפֿן צו זייַן גאָר געטאן מיט דעם נאָך. 233 00:16:56,350 --> 00:17:02,380 אבער טוט ווער עס יז פילן באַקוועם מיט וואָס זיי האָבן אַזוי ווייַט, 234 00:17:02,380 --> 00:17:05,599 ווי עפּעס מיר קענען אַרבעטן מיט צוזאַמען? 235 00:17:05,599 --> 00:17:09,690 טוט ווער עס יז ווילן צו פרייַוויליקער? אָדער איך וועל ראַנדאַמלי קלייַבן. 236 00:17:12,680 --> 00:17:18,599 עס טוט נישט האָבן צו זייַן רעכט דורך קיין מאָס אָבער עפּעס מיר קענען מאָדיפיצירן אין אַ ארבעטן שטאַט. 237 00:17:18,599 --> 00:17:20,720 [תּלמיד] זיכער. >> אָוקיי. 238 00:17:20,720 --> 00:17:27,220 אַזוי קענען איר ראַטעווען די רעוויזיע דורך געבן אַ קליק אויף די ביסל היט בילדל. 239 00:17:27,220 --> 00:17:29,950 איר רע ראַמיאַ, רעכט? >> [תּלמיד] יאָ. >> [באָוודען] אָוקיי. 240 00:17:29,950 --> 00:17:35,140 אַזוי איצט איך קענען קוק דיין רעוויזיע און אַלעמען קענען ציען אַרויף די רעוויזיע. 241 00:17:35,140 --> 00:17:38,600 און דאָ מיר האָבן - אָוקיי. 242 00:17:38,600 --> 00:17:43,160 אַזוי ראַמיאַ געגאנגען מיט די רעקורסיווע לייזונג, וואָס איז באשטימט אַ גילטיק לייזונג. 243 00:17:43,160 --> 00:17:44,970 עס זענען צוויי וועגן איר קענען טאָן דעם פּראָבלעם. 244 00:17:44,970 --> 00:17:48,060 איר קענען אָדער טאָן עס יטעראַטיוועלי אָדער רעקורסיוועלי. 245 00:17:48,060 --> 00:17:53,860 רובֿ פּראָבלעמס איר טרעפן וואָס קענען זייַן געטאן רעקורסיוועלי קענען אויך זייַן געטאן יטעראַטיוועלי. 246 00:17:53,860 --> 00:17:58,510 אַזוי דאָ מיר ווע געטאן עס רעקורסיוועלי. 247 00:17:58,510 --> 00:18:03,730 >> טוט עמעצער ווילן צו דעפינירן וואָס עס מיטל צו מאַכן אַ פֿונקציע רעקורסיווע? 248 00:18:07,210 --> 00:18:08,920 [תּלמיד] ווען איר האָט אַ פֿונקציע רופן זיך 249 00:18:08,920 --> 00:18:13,470 און דעמאָלט רופן זיך ביז עס קומט אויס מיט אמת און אמת. >> יאָ. 250 00:18:13,470 --> 00:18:17,680 א רעקורסיווע פֿונקציע איז נאָר אַ פֿונקציע וואָס רופט זיך. 251 00:18:17,680 --> 00:18:24,140 עס זענען דרייַ גרויס זאכן וואָס אַ רעקורסיווע פונקציאָנירן מוזן האָבן. 252 00:18:24,140 --> 00:18:27,310 דער ערשטער איז דאָך, עס רופט זיך. 253 00:18:27,310 --> 00:18:29,650 די רגע איז די באַזע פאַל. 254 00:18:29,650 --> 00:18:33,390 אַזוי בייַ עטלעכע פונט די פֿונקציע דאַרף צו האַלטן פאַך זיך, 255 00:18:33,390 --> 00:18:35,610 און אַז ס וואָס די באַזע פאַל איז פֿאַר. 256 00:18:35,610 --> 00:18:43,860 אַזוי דאָ מיר וויסן אַז מיר זאָל האַלטן, מיר זאָל געבן אַרויף אין אונדזער זוכן 257 00:18:43,860 --> 00:18:48,150 ווען אָנהייב יקוואַלז סוף - און מיר וועט גיין איבער וואָס אַז מיטל. 258 00:18:48,150 --> 00:18:52,130 אבער לעסאָף, די לעצטע זאַך וואָס ס וויכטיק פֿאַר רעקורסיווע פאַנגקשאַנז: 259 00:18:52,130 --> 00:18:59,250 די פאַנגקשאַנז מוזן עפעס צוגאַנג די באַזע פאַל. 260 00:18:59,250 --> 00:19:04,140 ווי אויב איר ניטאָ נישט פאקטיש אַפּדייטינג עפּעס ווען איר מאַכן די רגע רעקורסיווע רופן, 261 00:19:04,140 --> 00:19:07,880 אויב איר רע ממש נאָר פאַך די פֿונקציע ווידער מיט די זעלבע טענות 262 00:19:07,880 --> 00:19:10,130 און קיין גלאבאלע וועריאַבאַלז האָבן געביטן אָדער עפּעס, 263 00:19:10,130 --> 00:19:14,430 איר וועט קיינמאָל דערגרייכן די באַזע פאַל, אין וועלכע פאַל אַז ס 'שלעכט. 264 00:19:14,430 --> 00:19:17,950 עס וועט זייַן אַ ינפאַנאַט רעקורסיאָן און אַ אָנלייגן לויפן. 265 00:19:17,950 --> 00:19:24,330 אבער דאָ מיר זען אַז דער דערהייַנטיקן איז געשעעניש זינט מיר זענען אַפּדייטינג אָנהייב + סוף / 2, 266 00:19:24,330 --> 00:19:28,180 מיר רע אַפּדייטינג דער סוף אַרגומענט דאָ, מיר רע אַפּדייטינג די אָנהייב אַרגומענט דאָ. 267 00:19:28,180 --> 00:19:32,860 אַזוי אין אַלע רעקורסיווע רופט מיר זענען אַפּדייטינג עפּעס. אָוקיי. 268 00:19:32,860 --> 00:19:38,110 צי איר ווילן צו גיין אונדז דורך דיין לייזונג? >> זיכער. 269 00:19:38,110 --> 00:19:44,270 איך בין ניצן סעאַרטשהעלפּ אַזוי אַז יעדער מאָל איך מאַכן דעם פֿונקציע רופן 270 00:19:44,270 --> 00:19:47,910 איך האָבן די אָנהייב פון ווו איך בין קוקן פֿאַר אין די מענגע און דער סוף 271 00:19:47,910 --> 00:19:49,380 פון ווו איך בין קוקן די מענגע. 272 00:19:49,380 --> 00:19:55,330 >> אין יעדער שריט ווו עס ס זאגן עס ס די מיטל עלעמענט, וואָס איז אָנהייב + סוף / 2, 273 00:19:55,330 --> 00:19:58,850 איז אַז גלייַך צו וואָס מיר רע קוקן פֿאַר? 274 00:19:58,850 --> 00:20:04,650 און אויב עס איז, דעריבער מיר געפונען עס, און איך טרעפן אַז געץ דורכגעגאנגען אַרויף די לעוועלס פון רעקורסיאָן. 275 00:20:04,650 --> 00:20:12,540 און אויב אַז ס 'נישט אמת, דעמאָלט מיר קאָנטראָלירן צי אַז מיטן ווערט פון די מענגע איז אויך גרויס, 276 00:20:12,540 --> 00:20:19,320 אין וואָס פאַל מיר קוקן אין די לינקס האַלב פון די מענגע דורך געגאנגען פון אָנהייב צו די מיטל אינדעקס. 277 00:20:19,320 --> 00:20:22,710 און אַנדערש מיר טאָן די סוף האַלב. 278 00:20:22,710 --> 00:20:24,740 [באָוודען] אָוקיי. 279 00:20:24,740 --> 00:20:27,730 אַז סאָונדס גוט. 280 00:20:27,730 --> 00:20:36,640 אָוקיי, אַזוי אַ פּאָר זאכן, און פאקטיש, דאָס איז אַ זייער הויך-מדרגה זאַך 281 00:20:36,640 --> 00:20:41,270 אַז איר וועט קיינמאָל דאַרפֿן צו וויסן פֿאַר דעם קורס, אָבער עס איז אמת. 282 00:20:41,270 --> 00:20:46,080 רעקורסיווע פאַנגקשאַנז, איר שטענדיק הערן אַז זיי ניטאָ אַ שלעכט האַנדלען 283 00:20:46,080 --> 00:20:51,160 ווייַל אויב איר רעקורסיוועלי רופן זיך אויך פילע מאל, איר באַקומען אָנלייגן לויפן 284 00:20:51,160 --> 00:20:54,990 זינט, ווי איך געזאגט פריער, יעדער פֿונקציע געץ זייַן אייגן אָנלייגן ראַם. 285 00:20:54,990 --> 00:20:59,500 אַזוי יעדער רופן פון די רעקורסיווע פונקציאָנירן געץ זייַן אייגן אָנלייגן ראַם. 286 00:20:59,500 --> 00:21:04,140 אַזוי אויב איר מאַכן 1.000 רעקורסיווע רופט, איר באַקומען 1.000 אָנלייגן ראָמען, 287 00:21:04,140 --> 00:21:08,390 און געשווינד איר פירן צו ווייל אויך פילע אָנלייגן ראָמען און דאס נאָר ברעכן. 288 00:21:08,390 --> 00:21:13,480 אַזוי אַז ס וואָס רעקורסיווע פאַנגקשאַנז זענען בכלל שלעכט. 289 00:21:13,480 --> 00:21:19,370 אבער עס איז אַ פייַן סאַבסעט פון רעקורסיווע פאַנגקשאַנז גערופן עק-רעקורסיווע פאַנגקשאַנז, 290 00:21:19,370 --> 00:21:26,120 און דעם כאַפּאַנז צו זייַן אַ בייַשפּיל פון איין ווו אויב דער קאַמפּיילער נאטיצן דעם 291 00:21:26,120 --> 00:21:29,920 און עס זאָל, איך טראַכטן - אין קלאַנג אויב איר פאָרן עס דער-2 פאָן 292 00:21:29,920 --> 00:21:33,250 דעמאָלט עס וועט באַמערקן דעם איז עק רעקורסיווע און מאַכן דאס גוט. 293 00:21:33,250 --> 00:21:40,050 >> עס וועט רייוס דער זעלביקער אָנלייגן ראַם איבער און איבער ווידער פֿאַר יעדער רעקורסיווע רופן. 294 00:21:40,050 --> 00:21:47,010 און אַזוי זינט איר ניטאָ ניצן די זעלבע אָנלייגן ראַם, איר טאָן ניט דאַרפֿן צו זאָרג וועגן 295 00:21:47,010 --> 00:21:51,690 אלץ אָנלייגן איבערפולט, און אין דער זעלביקער צייַט, ווי איר האט געזאגט פריער, 296 00:21:51,690 --> 00:21:56,380 ווו אַמאָל איר צוריקקומען אמת, דעמאָלט עס האט צו צוריקקומען אַרויף אַלע פון ​​די אָנלייגן ראָמען 297 00:21:56,380 --> 00:22:01,740 און די 10 רופן צו סעאַרטשהעלפּ האט צו צוריקקומען צו די 9, האט צו צוריקקומען צו די 8. 298 00:22:01,740 --> 00:22:05,360 אַזוי אַז טוט נישט דאַרפֿן צו פּאַסירן ווען פאַנגקשאַנז זענען עק רעקורסיווע. 299 00:22:05,360 --> 00:22:13,740 און אַזוי וואָס מאכט דעם פֿונקציע עק רעקורסיווע איז באַמערקן אַז פֿאַר קיין געגעבן רופן צו סעאַרטשהעלפּ 300 00:22:13,740 --> 00:22:18,470 די רעקורסיווע רופן אַז עס ס געמאכט איז וואָס עס ס אומגעקערט. 301 00:22:18,470 --> 00:22:25,290 אַזוי אין דער ערשטער רופן צו סעאַרטשהעלפּ, מיר אָדער תיכף צוריקקומען פאַלש, 302 00:22:25,290 --> 00:22:29,590 תיכף צוריקקומען אמת, אָדער מיר מאַכן אַ רעקורסיווע רופן צו סעאַרטשהעלפּ 303 00:22:29,590 --> 00:22:33,810 ווו וואָס מיר רע אומגעקערט איז וואָס אַז רופן איז אומגעקערט. 304 00:22:33,810 --> 00:22:51,560 און מיר קען נישט טאָן דעם אויב מיר האט עפּעס ווי ינט X = סעאַרטשהעלפּ, צוריקקומען X * 2, 305 00:22:51,560 --> 00:22:55,440 נאָר עטלעכע טראַפ טוישן. 306 00:22:55,440 --> 00:23:01,470 >> אַזוי איצט דעם רעקורסיווע רופן, דאָס ינט X = סעאַרטשהעלפּ רעקורסיווע רופן, 307 00:23:01,470 --> 00:23:05,740 איז ניט מער עק רעקורסיווע ווייַל עס פאקטיש טוט האָבן צו צוריקקומען 308 00:23:05,740 --> 00:23:10,400 צוריק צו אַ פֿריִערדיקע אָנלייגן ראַם אַזוי אַז אַז פֿריִערדיקע רופן צו די פֿונקציע 309 00:23:10,400 --> 00:23:13,040 קענען דעמאָלט טאָן עפּעס מיט די צוריקקומען ווערט. 310 00:23:13,040 --> 00:23:22,190 אַזוי דעם איז ניט עק רעקורסיווע, אָבער וואָס מיר האבן פריער איז נייסלי עק רעקורסיווע. יאָ. 311 00:23:22,190 --> 00:23:27,000 [תּלמיד] זאָל ניט די רגע באַזע פאַל זייַן אָפּגעשטעלט ערשטער 312 00:23:27,000 --> 00:23:30,640 ווייַל דאָרט קען זייַן אַ סיטואַציע ווו ווען איר פאָרן עס די אַרגומענט 313 00:23:30,640 --> 00:23:35,770 איר האָבן אָנהייב = סוף, אָבער זיי זענען די נאָדל ווערט. 314 00:23:35,770 --> 00:23:47,310 די קשיא איז געווען קענען נישט מיר לויפן אין דעם פאַל ווו סוף איז דער נאָדל ווערט 315 00:23:47,310 --> 00:23:52,000 אָדער אָנהייב = סוף, אַפּראָופּרייטלי, אָנהייב = סוף 316 00:23:52,000 --> 00:23:59,480 און איר האָט נישט פאקטיש אָפּגעשטעלט אַז באַזונדער ווערט נאָך, 317 00:23:59,480 --> 00:24:03,910 דעמאָלט אָנהייב + סוף / 2 איז נאָר געגאנגען צו זייַן די זעלבע ווערט. 318 00:24:03,910 --> 00:24:07,890 אבער מיר 'ווע שוין אומגעקערט פאַלש און מיר קיינמאָל פאקטיש אָפּגעשטעלט די ווערט. 319 00:24:07,890 --> 00:24:14,240 אַזוי בייַ די זייער מינדסטער, אין דער ערשטער רופן, אויב גרייס איז 0, דעמאָלט מיר ווילן צו צוריקקומען פאַלש. 320 00:24:14,240 --> 00:24:17,710 אבער אויב גרייס איז 1, דעמאָלט אָנהייב איז נישט געגאנגען צו גלייַך סוף, 321 00:24:17,710 --> 00:24:19,820 און מיר וועט בייַ מינדסטער טשעק די איין עלעמענט. 322 00:24:19,820 --> 00:24:26,750 אבער איך טראַכטן איר זענט רעכט אין וואָס מיר קענען סוף אַרויף אין אַ פאַל ווו אָנהייב + סוף / 2, 323 00:24:26,750 --> 00:24:31,190 אָנהייב ענדס אַרויף זייַענדיק די זעלבע ווי אָנהייב + סוף / 2, 324 00:24:31,190 --> 00:24:35,350 אָבער מיר קיינמאָל פאקטיש אָפּגעשטעלט אַז עלעמענט. 325 00:24:35,350 --> 00:24:44,740 >> אַזוי אויב מיר ערשטער טשעק איז דער מיטל עלעמענט דער ווערט מיר רע קוקן פֿאַר, 326 00:24:44,740 --> 00:24:47,110 דעמאָלט מיר קענען תיכף צוריקקומען אמת. 327 00:24:47,110 --> 00:24:50,740 אַנדערש אויב זיי ניטאָ גלייַך, דעמאָלט דאָרט ס קיין פונט אין ממשיך 328 00:24:50,740 --> 00:24:58,440 זינט מיר רע נאָר געגאנגען צו דערהייַנטיקן צו אַ פאַל ווו מיר זענען אויף אַ איין-עלעמענט מענגע. 329 00:24:58,440 --> 00:25:01,110 אויב אַז איין עלעמענט איז נישט דער איינער מיר רע קוקן פֿאַר, 330 00:25:01,110 --> 00:25:03,530 דעריבער אַלץ איז פאַלש. יאָ. 331 00:25:03,530 --> 00:25:08,900 [תּלמיד] די זאַך איז אַז זינט גרייס איז פאקטיש גרעסערע ווי די נומער פון עלעמענטן אין דער מענגע, 332 00:25:08,900 --> 00:25:13,070 עס איז שוין אַ פאָטאָ - >> אזוי וועט גרייס - 333 00:25:13,070 --> 00:25:19,380 [תּלמיד] זאָגן אויב די מענגע איז גרייס 0, דעמאָלט דער סעאַרטשהעלפּ וועט פאקטיש טשעק כייסטאַק פון 0 334 00:25:19,380 --> 00:25:21,490 אויף דער ערשטער רופן. 335 00:25:21,490 --> 00:25:25,300 די מענגע האט גרייס 0, אַזוי דער 0 איז - >> יאָ. 336 00:25:25,300 --> 00:25:30,750 עס ס אן אנדער זאַך וואָס - עס זאל זייַן גוט. זאל ס טראַכטן. 337 00:25:30,750 --> 00:25:40,120 אַזוי אויב דער מענגע האט 10 יסודות און דעם מיטל איינער מיר רע געגאנגען צו קאָנטראָלירן איז אינדעקס 5, 338 00:25:40,120 --> 00:25:45,700 אַזוי מיר רע קאָנטראָלירונג 5, און לאָזן 'ס זאָגן אַז די ווערט איז ווייניקער. 339 00:25:45,700 --> 00:25:50,720 אַזוי מיר רע פארווארפן אַלץ אַוועק פון 5 פאָרויס. 340 00:25:50,720 --> 00:25:54,030 אַזוי אָנהייבן + סוף / 2 איז געגאנגען צו זייַן אונדזער נייַ סוף, 341 00:25:54,030 --> 00:25:57,450 אַזוי יאָ, עס ס שטענדיק געגאנגען צו בלייַבן ווייַטער פון די סוף פון די מענגע. 342 00:25:57,450 --> 00:26:03,570 אויב עס ס אַ פאַל אויב עס איז אַפֿילו אָדער מאָדנע, דעמאָלט מיר וואָלט טשעק, זאָגן, 4, 343 00:26:03,570 --> 00:26:05,770 אָבער מיר ניטאָ נאָך פארווארפן אַוועק - 344 00:26:05,770 --> 00:26:13,500 אַזוי יאָ, סוף איז שטענדיק געגאנגען צו זייַן ווייַטער פון די פאַקטיש סוף פון די מענגע. 345 00:26:13,500 --> 00:26:18,350 אַזוי די יסודות מיר זענען פאָוקיסינג אויף, סוף איז שטענדיק געגאנגען צו זייַן די מען נאָך אַז. 346 00:26:18,350 --> 00:26:24,270 און אַזוי אויב אָנהייב טוט אלץ גלייַך סוף, מיר זענען אין אַ מענגע פון ​​גרייס 0. 347 00:26:24,270 --> 00:26:35,600 >> די אנדערע זאַך איך איז געווען טראכטן איז מיר זענען אַפּדייטינג אָנהייבן צו זייַן אָנהייב + סוף / 2, 348 00:26:35,600 --> 00:26:44,020 אַזוי דאָס איז די פאַל וואָס איך בין בעת ​​צרה מיט, ווו אָנהייב + סוף / 2 349 00:26:44,020 --> 00:26:46,820 איז דער עלעמענט מיר רע קאָנטראָלירונג. 350 00:26:46,820 --> 00:26:58,150 זאל ס זאָגן מיר האט דעם 10-עלעמענט מענגע. וועלכער. 351 00:26:58,150 --> 00:27:03,250 אַזוי אָנהייבן + סוף / 2 איז געגאנגען צו זייַן עפּעס ווי דאָס איינער, 352 00:27:03,250 --> 00:27:07,060 און אויב אַז ס ניט די ווערט, זאָגן מיר ווילן צו דערהייַנטיקן. 353 00:27:07,060 --> 00:27:10,060 די ווערט איז גרעסער, אַזוי מיר ווילן צו קוקן אין דעם האַלב פון די מענגע. 354 00:27:10,060 --> 00:27:15,910 אַזוי ווי מיר רע אַפּדייטינג אָנהייב, מיר רע אַפּדייטינג אָנהייבן צו איצט זייַן דעם עלעמענט. 355 00:27:15,910 --> 00:27:23,790 אבער דאָס קען נאָך אַרבעט, אָדער בייַ די זייער מינדסטער, איר קענען טאָן אָנהייב + סוף / 2 + 1. 356 00:27:23,790 --> 00:27:27,850 [תּלמיד] איר טאָן ניט דאַרפֿן צו זייַן אָנהייב + סוף [ינאָדאַבאַל] >> יאָ. 357 00:27:27,850 --> 00:27:33,240 מיר האָבן שוין אָפּגעשטעלט דעם עלעמענט און וויסן עס ס 'נישט דער איינער מיר רע קוקן פֿאַר. 358 00:27:33,240 --> 00:27:36,800 אַזוי מיר טאָן ניט דאַרפֿן צו דערהייַנטיקן אָנהייבן צו זייַן דעם עלעמענט. 359 00:27:36,800 --> 00:27:39,560 מיר קענען נאָר האָפּקען עס און דערהייַנטיקן אָנהייבן צו זייַן דעם עלעמענט. 360 00:27:39,560 --> 00:27:46,060 און איז עס אלץ אַ פאַל, לאָזן ס זאָגן, אַז דאָס זענען געווען סוף, 361 00:27:46,060 --> 00:27:53,140 אַזוי דאַן אָנהייבן וואָלט זייַן דעם, אָנהייב + סוף / 2 וואָלט זייַן דעם, 362 00:27:53,140 --> 00:28:00,580 אָנהייב + סוף - יאָ, איך טראַכטן עס קענען סוף אַרויף אין ינפאַנאַט רעקורסיאָן. 363 00:28:00,580 --> 00:28:12,690 זאל ס זאָגן עס ס נאָר אַ מענגע פון ​​גרייס 2 אָדער אַ מענגע פון ​​נומער 1. איך טראַכטן דאָס וועט אַרבעטן. 364 00:28:12,690 --> 00:28:19,490 אַזוי דערווייַל, אָנהייב איז אַז עלעמענט און סוף איז 1 ווייַטער פון אים. 365 00:28:19,490 --> 00:28:24,110 אַזוי דער עלעמענט וואָס מיר רע געגאנגען צו קאָנטראָלירן איז דאָס איינער, 366 00:28:24,110 --> 00:28:29,400 און דעריבער ווען מיר דערהייַנטיקן אָנהייב, מיר רע אַפּדייטינג אָנהייבן צו זייַן 0 + 1/2, 367 00:28:29,400 --> 00:28:33,160 וואָס איז געגאנגען צו סוף אונדז צוריק מיט אָנהייב זייַענדיק דעם עלעמענט. 368 00:28:33,160 --> 00:28:36,210 >> אַזוי מיר רע קאָנטראָלירונג דער זעלביקער עלעמענט איבער און איבער ווידער. 369 00:28:36,210 --> 00:28:43,310 אַזוי דאָס איז די פאַל ווו יעדער רעקורסיווע רופן מוזן פאקטיש דערהייַנטיקן עפּעס. 370 00:28:43,310 --> 00:28:48,370 אַזוי מיר דאַרפֿן צו טאָן אָנהייב + סוף / 2 + 1, אָדער אַנדערש דאָרט ס אַ פאַל 371 00:28:48,370 --> 00:28:50,710 ווו מיר רע נישט פאקטיש אַפּדייטינג אָנהייב. 372 00:28:50,710 --> 00:28:53,820 אַלעמען זען וואָס? 373 00:28:53,820 --> 00:28:56,310 אָוקיי. 374 00:28:56,310 --> 00:29:03,860 טוט ווער עס יז האָבן שאלות אויף דעם לייזונג אָדער קיין מער באַמערקונגען? 375 00:29:05,220 --> 00:29:10,280 אָוקיי. טוט ווער עס יז האָבן אַ יטערייטיוו לייזונג אַז מיר קענען אַלע קוקן בייַ? 376 00:29:17,400 --> 00:29:20,940 האט מיר אַלע טאָן עס רעקורסיוועלי? 377 00:29:20,940 --> 00:29:25,950 אָדער אויך איך טרעפן אויב איר געעפנט הערס, דעמאָלט איר זאל האָבן אָווועררידאַן דיין פֿריִערדיקע איינער. 378 00:29:25,950 --> 00:29:28,810 טוט עס אויטאָמאַטיש היט? איך בין נישט positive. 379 00:29:35,090 --> 00:29:39,130 טוט ווער עס יז האָבן יטערייטיוו? 380 00:29:39,130 --> 00:29:42,430 מיר קענען גיין דורך עס צוזאַמען אויב נישט. 381 00:29:46,080 --> 00:29:48,100 דער געדאַנק איז געגאנגען צו זייַן די זעלבע. 382 00:30:00,260 --> 00:30:02,830 יטעראַטיווע לייזונג. 383 00:30:02,830 --> 00:30:07,140 מיר רע געגאנגען צו ווילן צו בייסיקלי טאָן די זעלבע געדאַנק 384 00:30:07,140 --> 00:30:16,530 ווו מיר ווילן צו האַלטן שפּור פון די נייַ סוף פון די מענגע און די נייַ אָנהייב פון די מענגע 385 00:30:16,530 --> 00:30:18,510 און טאָן אַז איבער און איבער. 386 00:30:18,510 --> 00:30:22,430 און אויב וואָס מיר רע בעכעסקעם שפּור פון ווי דער אָנהייב און דער סוף אלץ ינטערסעקט, 387 00:30:22,430 --> 00:30:29,020 דעמאָלט מיר האט ניט געפֿינען עס און מיר קענען צוריקקומען פאַלש. 388 00:30:29,020 --> 00:30:37,540 אַזוי ווי טאָן איך טאָן אַז? ווער עס יז האָבן פֿירלייגן אָדער קאָד פֿאַר מיר צו ציען אַרויף? 389 00:30:42,190 --> 00:30:47,450 [תּלמיד] צי אַ בשעת שלייף. >> יאָ. 390 00:30:47,450 --> 00:30:49,450 איר זענט געגאנגען צו ווילן צו טאָן אַ שלייף. 391 00:30:49,450 --> 00:30:51,830 >> האט איר האָבן קאָד איך קען ציען אַרויף, אָדער וואָס זענען איר געגאנגען צו פֿאָרשלאָגן? 392 00:30:51,830 --> 00:30:56,340 [תּלמיד] איך טראַכטן אַזוי. >> אַלע רעכט. דאס מאכט דאס גרינגער. וואָס איז אייער נאָמען? 393 00:30:56,340 --> 00:30:57,890 [תּלמיד] לוקאַס. 394 00:31:00,140 --> 00:31:04,190 רעוויזיע 1. אָוקיי. 395 00:31:04,190 --> 00:31:13,200 נידעריק איז וואָס מיר גערופן אָנהייב פריער. 396 00:31:13,200 --> 00:31:17,080 אַרויף איז נישט גאַנץ וואָס מיר גערופן סוף פריער. 397 00:31:17,080 --> 00:31:22,750 פאקטיש, סוף איז איצט ין די מענגע. עס ס אַן עלעמענט מיר זאָל באַטראַכטן. 398 00:31:22,750 --> 00:31:26,890 אַזוי נידעריק איז 0, אַרויף איז די גרייס פון דעם מענגע - 1, 399 00:31:26,890 --> 00:31:34,780 און איצט מיר זענען לופּינג, און מיר זענען קאָנטראָלירונג - 400 00:31:34,780 --> 00:31:37,340 איך טרעפן איר קענען גיין דורך אים. 401 00:31:37,340 --> 00:31:41,420 וואָס איז דיין טראכטן דורך דעם? גיין אונדז דורך דיין קאָד. 402 00:31:41,420 --> 00:31:49,940 [תּלמיד] זיכער. קוק בייַ די כייסטאַק ווערט אין דער מיטן און פאַרגלייַכן אים צו נאָדל. 403 00:31:49,940 --> 00:31:58,520 אַזוי אויב עס ס גרעסער ווי דיין נאָדל, דעמאָלט איר ווילן צו - אָה, פאקטיש, אַז זאָל זייַן קאַפּויער. 404 00:31:58,520 --> 00:32:05,180 איר רע געגאנגען צו וועלן צו וואַרפן אַוועק די רעכט האַלב, און אַזוי יאָ, וואָס זאָל זייַן דער וועג. 405 00:32:05,180 --> 00:32:08,830 [באָוודען] אזוי דאָס זאָל זייַן ווייניקער? איז אַז וואָס איר האט? >> [תּלמיד] יאָ. 406 00:32:08,830 --> 00:32:10,390 [באָוודען] אָוקיי. ווייניקער. 407 00:32:10,390 --> 00:32:15,700 אַזוי אויב וואָס מיר רע קוקן אין איז קלענערער ווי וואָס מיר ווילן, 408 00:32:15,700 --> 00:32:19,410 דעמאָלט יאָ, מיר וועלן צו וואַרפן אַוועק די לינקס האַלב, 409 00:32:19,410 --> 00:32:22,210 וואָס מיטל מיר זענען אַפּדייטינג אַלץ מיר רע קאָנסידערינג 410 00:32:22,210 --> 00:32:26,610 דורך מאָווינג נידעריק צו די רעכט פון די מענגע. 411 00:32:26,610 --> 00:32:30,130 דאס קוקט גוט. 412 00:32:30,130 --> 00:32:34,550 איך טראַכטן עס האט די זעלבע אַרויסגעבן אַז מיר געזאגט אויף די פֿריִערדיקע איינער, 413 00:32:34,550 --> 00:32:49,760 ווו אויב נידעריק איז 0 און זיך איז 1, דעמאָלט נידעריק + אַרויף / 2 איז געגאנגען צו שטעלן אַרויף צו זייַן די זעלבע זאַך ווידער. 414 00:32:49,760 --> 00:32:53,860 >> און אַפֿילו אויב אַז ס 'נישט דער פאַל, עס איז נאָך מער עפעקטיוו אין די זייער מינדסטער 415 00:32:53,860 --> 00:32:57,630 צו נאָר וואַרפן אַוועק די עלעמענט מיר נאָר געקוקט אין וואָס מיר וויסן איז פאַלש. 416 00:32:57,630 --> 00:33:03,240 אַזוי נידעריק + אַרויף / 2 + 1 - >> [תּלמיד] אַז זאָל זייַן די אנדערע וועג. 417 00:33:03,240 --> 00:33:05,900 [באָוודען] אָדער דאָס זאָל זייַן - 1 און די אנדערע איינער זאָל זייַן + 1. 418 00:33:05,900 --> 00:33:09,580 [תּלמיד] און עס זאָל זייַן אַ טאָפּל יקוואַלז צייכן. >> [באָוודען] יאָ. 419 00:33:09,580 --> 00:33:11,340 [תּלמיד] יאָ. 420 00:33:14,540 --> 00:33:15,910 אָוקיי. 421 00:33:15,910 --> 00:33:21,280 און לעסאָף, איצט אַז מיר האָבן דעם + 1-1 זאַך, 422 00:33:21,280 --> 00:33:31,520 איז עס - עס זאל ניט זייַן - איז עס אלץ מעגלעך פֿאַר נידעריק צו סוף אַרויף מיט אַ ווערט גרעסער ווי אַרויף? 423 00:33:35,710 --> 00:33:40,320 איך טראַכטן די בלויז וועג וואָס קענען פּאַסירן - איז עס מעגלעך? >> [תּלמיד] איך טאָן ניט וויסן. 424 00:33:40,320 --> 00:33:45,220 אבער אויב עס געץ טראַנגקייטיד און דעמאָלט געץ מינוס אַז 1 און דעמאָלט - >> יאָ. 425 00:33:45,220 --> 00:33:47,480 [תּלמיד] עס וואָלט עפשער באַקומען מעסט אַרויף. 426 00:33:49,700 --> 00:33:53,940 איך טראַכטן עס זאָל זייַן גוט בלויז ווייַל 427 00:33:53,940 --> 00:33:58,800 פֿאַר אים צו סוף אַרויף נידעריקער זיי וואָלט האָבן צו זייַן גלייַך, איך טראַכטן. 428 00:33:58,800 --> 00:34:03,070 אבער אויב זיי זענען גלייַך, דעמאָלט מיר וואָלט נישט האָבן געטאן די בשעת שלייף צו אָנהייבן מיט 429 00:34:03,070 --> 00:34:06,670 און מיר נאָר וואָלט האָבן אומגעקערט דעם ווערט. אַזוי איך טראַכטן מיר רע גוט איצט. 430 00:34:06,670 --> 00:34:11,530 נאָטיץ אַז אַפֿילו כאָטש דעם פּראָבלעם איז ניט מער רעקורסיווע, 431 00:34:11,530 --> 00:34:17,400 די זעלבע מין פון געדאנקען צולייגן ווו מיר קענען זען ווי דעם אַזוי לייכט לענדז זיך 432 00:34:17,400 --> 00:34:23,659 צו אַ רעקורסיווע לייזונג דורך דעם פאַקט אַז מיר רע נאָר אַפּדייטינג די ינדיסעס איבער און איבער ווידער, 433 00:34:23,659 --> 00:34:29,960 מיר רע מאכן די פּראָבלעם קלענערער און קלענערער, ​​מיר רע פאָוקיסינג אויף אַ סאַבסעט פון די מענגע. 434 00:34:29,960 --> 00:34:40,860 [תּלמיד] אויב נידעריק איז 0 און זיך איז 1, זיי וואָלט ביידע זייַן 0 + 1/2, וואָס וואָלט גיין צו 0, 435 00:34:40,860 --> 00:34:44,429 און דעמאָלט איינער וואָלט זייַן + 1, איינער וואָלט זייַן - 1. 436 00:34:47,000 --> 00:34:50,870 [תּלמיד] וואו זענען מיר קאָנטראָלירונג יקוואַלאַטי? 437 00:34:50,870 --> 00:34:55,100 ווי אויב די מיטל איינער איז פאקטיש נאָדל? 438 00:34:55,100 --> 00:34:58,590 מיר רע נישט דערווייַל טאן וואָס? אָה! 439 00:35:00,610 --> 00:35:02,460 אויב יץ - 440 00:35:05,340 --> 00:35:13,740 יא. מיר קענען ניט נאָר טאָן די פּרובירן אַראָפּ דאָ ווייַל לאָזן ס זאָגן דער ערשטער מיטל - 441 00:35:13,740 --> 00:35:16,430 [תּלמיד] עס ס פאקטיש ווי נישט וואַרפן אַוועק די געבונדן. 442 00:35:16,430 --> 00:35:20,220 אַזוי אויב איר וואַרפן אַוועק די געבונדן, איר האָבן צו טשעק עס ערשטער אָדער וועלכער. 443 00:35:20,220 --> 00:35:23,350 אַ. יאָ. >> [תּלמיד] יאָ. 444 00:35:23,350 --> 00:35:29,650 אַזוי איצט מיר האָבן ארלנגעווארפן אַוועק דער איינער מיר דערווייַל געקוקט בייַ, 445 00:35:29,650 --> 00:35:33,260 וואָס מיטל מיר איצט דאַרפֿן צו אויך האָבן 446 00:35:33,260 --> 00:35:44,810 אויב (כייסטאַק [(נידעריק + אַרויף) / 2] == נאָדל), דעמאָלט מיר קענען צוריקקומען אמת. 447 00:35:44,810 --> 00:35:52,070 און צי איך שטעלן אַנדערש אָדער נאָר אויב, עס מיטל ממש די זעלבע זאַך 448 00:35:52,070 --> 00:35:57,110 ווייַל דאָס וואָלט האָבן אומגעקערט אמת. 449 00:35:57,110 --> 00:36:01,450 אַזוי איך וועט שטעלן אַנדערש אויב, אָבער עס טוט נישט ענין. 450 00:36:01,450 --> 00:36:10,440 >> אַזוי אַנדערש אויב דעם, אַנדערש דעם, און דאָס איז אַ פּראָסט זאַך איך טאָן 451 00:36:10,440 --> 00:36:14,340 ווו אַפֿילו אויב עס איז דער פאַל ווו אַלץ איז גוט דאָ, 452 00:36:14,340 --> 00:36:22,780 ווי נידעריק קענען קיינמאָל זייַן גרעסער ווי אַרויף, עס ס 'נישט ווערט ריזאַנינג וועגן צי אַז ס' אמת. 453 00:36:22,780 --> 00:36:28,010 אַזוי איר זאלט ​​ווי געזונט זאָגן בשעת נידעריק איז ווייניקער ווי אָדער גלייַך צו 454 00:36:28,010 --> 00:36:30,720 אָדער בשעת נידעריק איז ווייניקער ווי 455 00:36:30,720 --> 00:36:35,300 אַזוי אויב זיי זענען אלץ גלייַך אָדער נידעריק כאַפּאַנז צו פאָרן אַרויף, 456 00:36:35,300 --> 00:36:40,130 דעמאָלט מיר קענען ברעכן אויס פון דעם שלייף. 457 00:36:41,410 --> 00:36:44,630 שאלות, קאַנסערנז, באַמערקונגען? 458 00:36:47,080 --> 00:36:49,270 אָוקיי. דאס קוקט גוט. 459 00:36:49,270 --> 00:36:52,230 איצט מיר ווילן צו טאָן סאָרט. 460 00:36:52,230 --> 00:37:04,030 אויב מיר גיין צו מיין רגע רעוויזיע, מיר זען די זעלבע נומערן, 461 00:37:04,030 --> 00:37:07,550 אָבער איצט זיי זענען ניט מער אין אויסגעשטעלט סדר. 462 00:37:07,550 --> 00:37:12,840 און מיר ווילן צו מאַכשער סאָרט ניצן קיין אַלגערידאַם אין אָ פון N קלאָץ ען. 463 00:37:12,840 --> 00:37:17,240 אַזוי וואָס אַלגערידאַם טאָן איר טראַכטן מיר זאָל מאַכשער דאָ? >> [תּלמיד] מערדזש סאָרט. 464 00:37:17,240 --> 00:37:23,810 [באָוודען] יאָ. צונויפגיסן סאָרט איז אָ (N קלאָץ N), אַזוי אַז ס וואָס מיר רע געגאנגען צו טאָן. 465 00:37:23,810 --> 00:37:26,680 און דער פּראָבלעם איז געגאנגען צו זייַן שיין ענלעך, 466 00:37:26,680 --> 00:37:31,920 ווו עס לייכט לענדז זיך צו אַ רעקורסיווע לייזונג. 467 00:37:31,920 --> 00:37:35,580 מיר קענען אויך קומען אַרויף מיט אַ יטערייטיוו לייזונג אויב מיר ווילן, 468 00:37:35,580 --> 00:37:42,540 אָבער רעקורסיאָן וועט זייַן גרינגער דאָ און מיר זאָל טאָן רעקורסיאָן. 469 00:37:45,120 --> 00:37:49,530 איך טרעפן מיר וועלן גיין דורך צונויפגיסן סאָרט ערשטער, 470 00:37:49,530 --> 00:37:54,280 כאָטש עס איז אַ שיינע ווידעא אויף צונויפגיסן סאָרט שוין. [געלעכטער] 471 00:37:54,280 --> 00:37:59,780 אַזוי צונויפגיסן סאָרט עס זענען - איך בין ווייסטינג אַזוי פיל פון דעם פּאַפּיר. 472 00:37:59,780 --> 00:38:02,080 אָה, דאָרט ס נאָר איין לינקס. 473 00:38:02,080 --> 00:38:03,630 אַזוי צונויפגיסן. 474 00:38:08,190 --> 00:38:12,470 אָה, 1, 3, 5. 475 00:38:26,090 --> 00:38:27,440 אָוקיי. 476 00:38:29,910 --> 00:38:33,460 צונויפגיסן נעמט צוויי באַזונדער ערייז. 477 00:38:33,460 --> 00:38:36,780 ינדיווידזשואַלי יענע צוויי ערייז זענען ביידע אויסגעשטעלט. 478 00:38:36,780 --> 00:38:40,970 אַזוי דעם מענגע, 1, 3, 5, אויסגעשטעלט. דאס מענגע, 0, 2, 4, אויסגעשטעלט. 479 00:38:40,970 --> 00:38:46,710 איצט וואָס צונויפגיסן זאָל טאָן איז פאַרבינדן זיי אין אַ איין מענגע וואָס איז זיך אויסגעשטעלט. 480 00:38:46,710 --> 00:38:57,130 אַזוי מיר ווילן אַ מענגע פון ​​נומער 6 וואָס איז געגאנגען צו האָבן די יסודות ין פון עס 481 00:38:57,130 --> 00:38:59,390 אין אויסגעשטעלט סדר. 482 00:38:59,390 --> 00:39:03,390 >> און אַזוי מיר קענען נעמען מייַלע פון ​​די פאַקט אַז די צוויי ערייז זענען אויסגעשטעלט 483 00:39:03,390 --> 00:39:06,800 צו טאָן דאָס אין לינעאַר צייַט, 484 00:39:06,800 --> 00:39:13,510 לינעאַר צייַט טייַטש אויב דאָס מענגע איז גרייס X און דאָס איז גרייס י, 485 00:39:13,510 --> 00:39:20,970 דעריבער די גאַנץ אַלגערידאַם זאָל זייַן אָ (X + י). אָוקיי. 486 00:39:20,970 --> 00:39:23,150 אַזוי פֿירלייגן. 487 00:39:23,150 --> 00:39:26,030 [תּלמיד] קען מיר אָנהייב פון די לינקס? 488 00:39:26,030 --> 00:39:30,150 אַזוי איר וועט שטעלן דעם 0 אַראָפּ ערשטער און דעריבער די 1 און דעריבער דאָ איר ניטאָ בייַ די 2. 489 00:39:30,150 --> 00:39:33,320 אַזוי עס ס מין פון ווי איר האָבן אַ קוויטל אַז ס מאָווינג צו די רעכט. >> [באָוודען] יאָ. 490 00:39:33,320 --> 00:39:41,070 פֿאַר ביידע פון ​​די ערייז אויב מיר נאָר פאָקוס אויף די לעפטמאָסט עלעמענט. 491 00:39:41,070 --> 00:39:43,530 ווייַל ביידע ערייז זענען אויסגעשטעלט, מיר וויסן אַז די 2 עלעמענטן 492 00:39:43,530 --> 00:39:46,920 זענען די קלענסטער יסודות אין אָדער מענגע. 493 00:39:46,920 --> 00:39:53,500 אַזוי אַז מיטל אַז 1 פון יענע 2 יסודות מוזן זייַן דער קלענסטער עלעמענט אין אונדזער מערדזשד מענגע. 494 00:39:53,500 --> 00:39:58,190 עס פּונקט אַזוי כאַפּאַנז אַז דער קלענסטער איז די מען אויף די רעכט דאָס מאָל. 495 00:39:58,190 --> 00:40:02,580 אַזוי מיר נעמען 0, אַרייַנלייגן עס אויף די לינקס ווייַל 0 איז ווייניקער ווי 1, 496 00:40:02,580 --> 00:40:08,210 אַזוי נעמען 0, אַרייַנלייגן עס אין אונדזער ערשטער שטעלע, און דאַן מיר דערהייַנטיקן דעם 497 00:40:08,210 --> 00:40:12,070 צו איצט פאָקוס אויף דער ערשטער עלעמענט. 498 00:40:12,070 --> 00:40:14,570 און איצט מיר איבערחזרן. 499 00:40:14,570 --> 00:40:20,670 אַזוי איצט מיר פאַרגלייַכן 2 און 1. 1 איז קלענערער, ​​אַזוי מיר וועט אַרייַנלייגן 1. 500 00:40:20,670 --> 00:40:25,300 מיר דערהייַנטיקן דעם טייַטל צו פונט צו דעם באָכער. 501 00:40:25,300 --> 00:40:33,160 איצט מיר טאָן עס ווידער, אַזוי 2. דאס וועט דערהייַנטיקן, פאַרגלייַכן די 2, 3. 502 00:40:33,160 --> 00:40:37,770 דאס דערהייַנטיקונגען, דעמאָלט 4 און 5. 503 00:40:37,770 --> 00:40:42,110 אַזוי וואָס איז צונויפגיסן. 504 00:40:42,110 --> 00:40:49,010 >> עס זאָל זייַן שיין קלאָר ווי דער טאָג אַז עס איז לינעאַר צייַט זינט מיר נאָר גיין אַריבער יעדער עלעמענט אַמאָל. 505 00:40:49,010 --> 00:40:55,980 און וואָס איז די ביגאַסט שריט צו ימפּלאַמענינג צונויפגיסן סאָרט איז טאן דעם. 506 00:40:55,980 --> 00:40:59,330 און עס ס נישט אַז שווער. 507 00:40:59,330 --> 00:41:15,020 א פּאָר זאכן צו זאָרג וועגן איז לאָזן ס זאָגן מיר זענען מערדזשינג 1, 2, 3, 4, 5, 6. 508 00:41:15,020 --> 00:41:30,930 אין דעם פאַל מיר סוף אַרויף אין דער סצענאַר ווו דאָס איינער איז געגאנגען צו זייַן קלענערער, 509 00:41:30,930 --> 00:41:36,160 דעמאָלט מיר דערהייַנטיקן דעם טייַטל, דאָס איינער איז געגאנגען צו זייַן קלענערער, ​​דערהייַנטיקן דעם, 510 00:41:36,160 --> 00:41:41,280 דאָס איינער ס קלענערער, ​​און איצט איר האָבן צו דערקענען 511 00:41:41,280 --> 00:41:44,220 ווען איר ווע פאקטיש לויפן אויס פון עלעמענטן צו פאַרגלייַכן מיט. 512 00:41:44,220 --> 00:41:49,400 זינט מיר האָבן שוין געניצט דאָס גאנצע מענגע, 513 00:41:49,400 --> 00:41:55,190 אַלץ אין דעם מענגע איז איצט פּונקט ינסערטאַד אין דאָ. 514 00:41:55,190 --> 00:42:02,040 אַזוי אויב מיר אלץ לויפן אין די פונט ווו איינער פון אונדזער ערייז איז גאָר מערדזשד שוין, 515 00:42:02,040 --> 00:42:06,510 דעמאָלט מיר נאָר נעמען אַלע די יסודות פון די אנדערע מענגע און אַרייַנלייגן זיי אין די סוף פון די מענגע. 516 00:42:06,510 --> 00:42:13,630 אַזוי מיר קענען נאָר אַרייַנלייגן 4, 5, 6. אָוקיי. 517 00:42:13,630 --> 00:42:18,070 וואָס איז איין זאַך צו היטן אויס פֿאַר. 518 00:42:22,080 --> 00:42:26,120 ימפּלאַמענינג וואָס זאָל זייַן שריט 1. 519 00:42:26,120 --> 00:42:32,600 צונויפגיסן סאָרט דעמאָלט באזירט אויף וואָס, עס ס 2 טריט, 2 נאַריש טריט. 520 00:42:38,800 --> 00:42:42,090 זאל ס נאָר געבן דעם מענגע. 521 00:42:57,920 --> 00:43:05,680 אַזוי צונויפגיסן סאָרט, שריט 1 איז צו רעקורסיוועלי ברעכן די מענגע אין כאַווז. 522 00:43:05,680 --> 00:43:09,350 אַזוי שפּאַלטן דעם מענגע אין כאַווז. 523 00:43:09,350 --> 00:43:22,920 מיר איצט האָבן 4, 15, 16, 50 און 8, 23, 42, 108. 524 00:43:22,920 --> 00:43:25,800 און איצט מיר טאָן עס ווידער און מיר שפּאַלטן די אין כאַווז. 525 00:43:25,800 --> 00:43:27,530 איך וועט נאָר טאָן עס אויף דעם זייַט. 526 00:43:27,530 --> 00:43:34,790 אַזוי 4, 15 און 16, 50. 527 00:43:34,790 --> 00:43:37,440 מיר וואָלט טאָן די זעלבע זאַך איבער דאָ. 528 00:43:37,440 --> 00:43:40,340 און איצט מיר שפּאַלטן עס אין כאַווז ווידער. 529 00:43:40,340 --> 00:43:51,080 און מיר האָבן 4, 15, 16, 50. 530 00:43:51,080 --> 00:43:53,170 אַזוי וואָס איז אונדזער באַזע פאַל. 531 00:43:53,170 --> 00:44:00,540 אַמאָל די ערייז זענען פון נומער 1, דעמאָלט מיר האַלטן מיט די ספּליטינג אין כאַווז. 532 00:44:00,540 --> 00:44:03,190 >> איצט וואָס טאָן מיר טאָן מיט דעם? 533 00:44:03,190 --> 00:44:15,730 מיר סוף אַרויף דעם וועט אויך ברעכן אַראָפּ אין 8, 23, 42, און 108. 534 00:44:15,730 --> 00:44:24,000 אַזוי איצט אַז מיר ניטאָ בייַ דעם פונט, איצט שריט צוויי פון צונויפגיסן סאָרט איז נאָר מערדזשינג פּערז צו די רשימות. 535 00:44:24,000 --> 00:44:27,610 אַזוי מיר ווילן צו צונויפגיסן די. מיר נאָר רופן צונויפגיסן. 536 00:44:27,610 --> 00:44:31,410 מיר וויסן צונויפגיסן וועט צוריקקומען די אין אויסגעשטעלט סדר. 537 00:44:31,410 --> 00:44:33,920 4, 15. 538 00:44:33,920 --> 00:44:41,440 איצט מיר ווילן צו צונויפגיסן די, און אַז וועט צוריקקומען אַ רשימה מיט יענע אין אויסגעשטעלט סדר, 539 00:44:41,440 --> 00:44:44,160 16, 50. 540 00:44:44,160 --> 00:44:57,380 מיר צונויפגיסן יענע - איך קען נישט שרייַבן - 8, 23 און 42, 108. 541 00:44:57,380 --> 00:45:02,890 אַזוי מיר האָבן מערדזשד פּערז אַמאָל. 542 00:45:02,890 --> 00:45:05,140 איצט מיר נאָר צונויפגיסן ווידער. 543 00:45:05,140 --> 00:45:10,130 נאָטיץ אַז יעדער פון די רשימות איז אויסגעשטעלט אין זיך, 544 00:45:10,130 --> 00:45:15,220 און דעמאָלט מיר קענען נאָר צונויפגיסן די רשימות צו באַקומען אַ רשימה פון נומער 4 וואָס איז אויסגעשטעלט 545 00:45:15,220 --> 00:45:19,990 און צונויפגיסן די צוויי רשימות צו באַקומען אַ רשימה פון נומער 4 וואָס איז אויסגעשטעלט. 546 00:45:19,990 --> 00:45:25,710 און לעסאָף, מיר קענען צונויפגיסן יענע צוויי רשימות פון נומער 4 צו באַקומען איין רשימה פון נומער 8, וואס איז אויסגעשטעלט. 547 00:45:25,710 --> 00:45:34,030 אַזוי צו זען אַז דאָס איז קוילעלדיק N קלאָץ N, מיר שוין געזען אַז צונויפגיסן איז לינעאַר, 548 00:45:34,030 --> 00:45:40,390 אַזוי ווען מיר רע דילינג מיט מערדזשינג די, אַזוי ווי די קוילעלדיק פּרייַז פון צונויפגיסן 549 00:45:40,390 --> 00:45:43,410 פֿאַר די צוויי רשימות איז נאָר 2 ווייַל - 550 00:45:43,410 --> 00:45:49,610 אָדער געזונט, עס ס אָ פון N, אָבער N דאָ איז נאָר די 2 יסודות, אַזוי עס ס 2. 551 00:45:49,610 --> 00:45:52,850 און די 2 וועט זייַן 2 און די 2 וועט זייַן 2 און די 2 וועט זייַן 2, 552 00:45:52,850 --> 00:45:58,820 אַזוי אַריבער אַלע פון ​​די מערדזשיז אַז מיר דאַרפֿן צו טאָן, מיר סוף אַרויף טאן ען. 553 00:45:58,820 --> 00:46:03,210 ווי 2 + 2 + 2 + 2 איז 8, וואָס איז N, 554 00:46:03,210 --> 00:46:08,060 אַזוי די פּרייַז פון מערדזשינג אין דעם גאַנג איז ען. 555 00:46:08,060 --> 00:46:10,810 און דעריבער די זעלבע זאַך דאָ. 556 00:46:10,810 --> 00:46:16,980 מיר וועט צונויפגיסן די 2, דעריבער די 2, און ינדיווידזשואַלי דעם צונויפגיסן וועלן נעמען פיר אַפּעריישאַנז, 557 00:46:16,980 --> 00:46:23,610 דעם צונויפגיסן וועלן נעמען פיר אַפּעריישאַנז, אָבער אַמאָל ווידער, צווישן אַלע פון ​​די, 558 00:46:23,610 --> 00:46:29,030 מיר סוף אַרויף מערדזשינג N גאַנץ זאכן, און אַזוי דעם שריט נעמט ען. 559 00:46:29,030 --> 00:46:33,670 און אַזוי יעדער מדרגה נעמט N יסודות זייַענדיק מערדזשד. 560 00:46:33,670 --> 00:46:36,110 >> און ווי פילע לעוועלס זענען דאָרט? 561 00:46:36,110 --> 00:46:40,160 אין יעדער מדרגה, אונדזער מענגע וואקסט דורך נומער 2. 562 00:46:40,160 --> 00:46:44,590 דאָ אונדזער ערייז זענען פון נומער 1, דאָ זיי רע פון ​​נומער 2, דאָ זיי רע פון ​​נומער 4, 563 00:46:44,590 --> 00:46:46,470 און לעסאָף, זיי רע פון ​​גרייס 8. 564 00:46:46,470 --> 00:46:56,450 אַזוי זינט עס איז דאַבלינג, עס זענען געגאנגען צו זייַן אַ גאַנץ פון קלאָץ N פון די לעוועלס. 565 00:46:56,450 --> 00:47:02,090 אַזוי מיט קלאָץ N לעוועלס, יעדער יחיד מדרגה גענומען N גאַנץ אַפּעריישאַנז, 566 00:47:02,090 --> 00:47:05,720 מיר באַקומען אַן N קלאָץ N אַלגערידאַם. 567 00:47:05,720 --> 00:47:07,790 שאלות? 568 00:47:08,940 --> 00:47:13,320 האָט מען שוין געמאכט פּראָגרעס אויף ווי צו מאַכשער דעם? 569 00:47:13,320 --> 00:47:18,260 איז ווער עס יז שוין אין אַ שטאַט ווו איך קענען נאָר ציען אַרויף זייער קאָד? 570 00:47:20,320 --> 00:47:22,260 איך קענען געבן אַ מינוט. 571 00:47:24,770 --> 00:47:27,470 דאס איינער איז געגאנגען צו זייַן מער. 572 00:47:27,470 --> 00:47:28,730 איך העכסט רעקאָמענדירן ריקער - 573 00:47:28,730 --> 00:47:30,510 איר טאָן ניט האָבן צו טאָן רעקורסיאָן פֿאַר צונויפגיסן 574 00:47:30,510 --> 00:47:33,750 ווייַל צו טאָן רעקורסיאָן פֿאַר צונויפגיסן, איר ניטאָ געגאנגען צו האָבן צו פאָרן אַ בינטל פון פאַרשידענע סיזעס. 575 00:47:33,750 --> 00:47:37,150 איר קענען, אָבער עס ס אַנויינג. 576 00:47:37,150 --> 00:47:43,720 אבער רעקורסיאָן פֿאַר סאָרט זיך איז שיין גרינג. 577 00:47:43,720 --> 00:47:49,190 איר נאָר ממש רופן סאָרט אויף לינקס האַלב, סאָרט אויף רעכט האַלב. אָוקיי. 578 00:47:51,770 --> 00:47:54,860 ווער עס יז האָבן עפּעס איך קענען ציען אַרויף נאָך? 579 00:47:54,860 --> 00:47:57,540 אָדער אַנדערש איך וועט געבן אַ מינוט. 580 00:47:58,210 --> 00:47:59,900 אָוקיי. 581 00:47:59,900 --> 00:48:02,970 ווער עס יז האָבן עפּעס מיר קענען אַרבעטן מיט? 582 00:48:05,450 --> 00:48:09,680 אָדער אַנדערש מיר וועט נאָר אַרבעטן מיט דעם און דעמאָלט יקספּאַנד פון דאָרט. 583 00:48:09,680 --> 00:48:14,050 >> ווער עס יז האָבן מער ווי דאָס וואָס איך קענען ציען אַרויף? 584 00:48:14,050 --> 00:48:17,770 [תּלמיד] יאָ. איר קענען ציען אַרויף מייַן. >> אַלע רעכט. 585 00:48:17,770 --> 00:48:19,730 יא! 586 00:48:22,170 --> 00:48:25,280 [תּלמיד] עס זענען געווען אַ פּלאַץ פון באדינגונגען. >> טאַקע, דרייען. קענען איר - 587 00:48:25,280 --> 00:48:28,110 [תּלמיד] איך האָבן צו ראַטעווען עס. >> יאָ. 588 00:48:32,420 --> 00:48:35,730 אַזוי מיר האבן טאָן די צונויפגיסן סעפּעראַטלי. 589 00:48:35,730 --> 00:48:38,570 טאַקע, אָבער עס ס נישט אַז שלעכט. 590 00:48:39,790 --> 00:48:41,650 אָוקיי. 591 00:48:41,650 --> 00:48:47,080 אַזוי סאָרט איז זיך נאָר פאַך מערגעסאָרטהעלפּ. 592 00:48:47,080 --> 00:48:49,530 דערקלערן צו אונדז וואָס מערגעסאָרטהעלפּ טוט. 593 00:48:49,530 --> 00:48:55,700 [תּלמיד] מערגעסאָרטהעלפּ שיין פיל טוט די צוויי הויפּט טריט, 594 00:48:55,700 --> 00:49:01,270 וואָס איז צו סאָרט יעדער העלפט פון די מענגע און דעריבער צו צונויפגיסן ביידע פון ​​זיי. 595 00:49:04,960 --> 00:49:08,050 [באָוודען] אָוקיי, אַזוי געבן מיר אַ רגע. 596 00:49:10,850 --> 00:49:13,210 איך טראַכטן דעם - >> [תּלמיד] איך דאַרפֿן צו - 597 00:49:17,100 --> 00:49:19,400 יאָ. איך בין פעלנדיק עפּעס. 598 00:49:19,400 --> 00:49:23,100 אין צונויפגיסן, איך פאַרשטיין אַז איך דאַרפֿן צו שאַפֿן אַ נייַ מענגע 599 00:49:23,100 --> 00:49:26,530 ווייַל איך קען נישט טאָן עס אין פּלאַץ. >> יא. איר קענען נישט. ריכטיק. 600 00:49:26,530 --> 00:49:28,170 [תּלמיד] אזוי איך שאַפֿן אַ נייע מענגע. 601 00:49:28,170 --> 00:49:31,510 איך Forgot אין די סוף פון צונויפגיסן צו שייַעך-טוישן. 602 00:49:31,510 --> 00:49:34,490 אָוקיי. מיר דאַרפֿן אַ נייַ מענגע. 603 00:49:34,490 --> 00:49:41,000 אין צונויפגיסן סאָרט, דאָס איז כּמעט שטענדיק אמת. 604 00:49:41,000 --> 00:49:44,340 טייל פון די פּרייַז פון אַ בעסער אַלגערידאַם צייַט-קלוג 605 00:49:44,340 --> 00:49:47,310 איז כּמעט שטענדיק נידינג צו נוצן אַ ביסל מער זכּרון. 606 00:49:47,310 --> 00:49:51,570 אַזוי דאָ, קיין ענין ווי איר טאָן צונויפגיסן סאָרט, 607 00:49:51,570 --> 00:49:54,780 איר וואָלט ינעוואַטאַבלי דאַרפֿן צו נוצן עטלעכע עקסטרע זכּרון. 608 00:49:54,780 --> 00:49:58,240 ער אָדער זי באשאפן אַ נייַ מענגע. 609 00:49:58,240 --> 00:50:03,400 און דאַן איר זאָגן בייַ די סוף מיר נאָר דאַרפֿן צו קאָפּיע נייַ מענגע אין דער אָריגינעל מענגע. 610 00:50:03,400 --> 00:50:04,830 [תּלמיד] איך טראַכטן אַזוי, יאָ. 611 00:50:04,830 --> 00:50:08,210 איך טאָן ניט וויסן אויב וואָס אַרבעט אין טערמינען פון קאַונטינג דורך דערמאָנען אָדער וועלכער - 612 00:50:08,210 --> 00:50:11,650 יאָ, עס וועט אַרבעטן. >> [תּלמיד] אָוקיי. 613 00:50:20,620 --> 00:50:24,480 האט איר פּרובירן פליסנדיק דעם? >> [תּלמיד] ניין, נישט נאָך. >> אָוקיי. 614 00:50:24,480 --> 00:50:28,880 פּרובירן פליסנדיק עס, און דעמאָלט איך וועט רעדן וועגן אים פֿאַר אַ רגע. 615 00:50:28,880 --> 00:50:35,200 [תּלמיד] איך דאַרפֿן צו האָבן אַלע די פֿונקציע פּראָוטאַטייפּס און אַלץ, כאָטש, רעכט? 616 00:50:37,640 --> 00:50:40,840 די פֿונקציע פּראָוטאַטייפּס. אָה, איר מיינען ווי - יא. 617 00:50:40,840 --> 00:50:43,040 סאָרט איז פאַך מערגעסאָרטהעלפּ. 618 00:50:43,040 --> 00:50:47,390 >> אַזוי אין סדר פֿאַר סאָרט צו רופן מערגעסאָרטהעלפּ, מערגעסאָרטהעלפּ מוזן אָדער האָבן שוין דיפיינד 619 00:50:47,390 --> 00:50:56,370 איידער סאָרט אָדער מיר נאָר דאַרפֿן די פּראָוטאַטייפּ. נאָר נאָכמאַכן און פּאַפּ אַז. 620 00:50:56,370 --> 00:50:59,490 און סימילאַרלי, מערגעסאָרטהעלפּ איז פאַך צונויפגיסן, 621 00:50:59,490 --> 00:51:03,830 אָבער צונויפגיסן האט נישט געווען דיפיינד נאָך, אַזוי מיר קענען נאָר לאָזן מערגעסאָרטהעלפּ וויסן 622 00:51:03,830 --> 00:51:08,700 אַז וואָס ס וואָס צונויפגיסן איז געגאנגען צו קוקן ווי, און אַז ס וואָס. 623 00:51:09,950 --> 00:51:15,730 אַזוי מערגעסאָרטהעלפּ. 624 00:51:22,770 --> 00:51:32,660 מיר האָבן אַן אַרויסגעבן דאָ ווו מיר האָבן קיין באַזע פאַל. 625 00:51:32,660 --> 00:51:38,110 מערגעסאָרטהעלפּ איז רעקורסיווע, אַזוי קיין רעקורסיווע פֿונקציע 626 00:51:38,110 --> 00:51:42,610 איז געגאנגען צו דאַרפֿן עטלעכע סאָרט פון באַזע פאַל צו וויסן ווען צו האַלטן רעקורסיוועלי פאַך זיך. 627 00:51:42,610 --> 00:51:45,590 וואָס איז אונדזער באַזע פאַל געגאנגען צו זייַן דאָ? יאָ. 628 00:51:45,590 --> 00:51:49,110 [תּלמיד] אויב דער נומער איז 1? >> [באָוודען] יא. 629 00:51:49,110 --> 00:51:56,220 אַזוי ווי מיר געזען רעכט דאָרט, מיר פארשטאפט ספּליטינג ערייז 630 00:51:56,220 --> 00:52:01,850 אַמאָל מיר גאַט אין ערייז פון נומער 1, וואָס ינעוואַטאַבלי זענען אויסגעשטעלט זיך. 631 00:52:01,850 --> 00:52:09,530 אַזוי אויב גרייס יקוואַלז 1, מיר וויסן די מענגע איז שוין אויסגעשטעלט, 632 00:52:09,530 --> 00:52:12,970 אַזוי מיר קענען נאָר צוריקקומען. 633 00:52:12,970 --> 00:52:16,880 >> נאָטיץ, אז ס פּאָסל, אַזוי מיר טאָן ניט צוריקקומען עפּעס באַזונדער, מיר נאָר צוריקקומען. 634 00:52:16,880 --> 00:52:19,580 אָוקיי. אַזוי אַז ס אונדזער באַזע פאַל. 635 00:52:19,580 --> 00:52:27,440 איך טרעפן אונדזער באַזע פאַל קען אויך זייַן אויב מיר פּאַסירן צו זייַן מערדזשינג אַ מענגע פון ​​גרייס 0, 636 00:52:27,440 --> 00:52:30,030 מיר מיסטאָמע ווילן צו האַלטן בייַ עטלעכע פונט, 637 00:52:30,030 --> 00:52:33,610 אַזוי מיר קענען נאָר זאָגן גרייס ווייניקער ווי 2 אָדער ווייניקער ווי אָדער גלייַך צו 1 638 00:52:33,610 --> 00:52:37,150 אַזוי אַז דאָס וועט אַרבעטן פֿאַר קיין מענגע איצט. 639 00:52:37,150 --> 00:52:38,870 אָוקיי. 640 00:52:38,870 --> 00:52:42,740 אַזוי אַז ס אונדזער באַזע פאַל. 641 00:52:42,740 --> 00:52:45,950 איצט טאָן איר ווילן צו גיין אונדז דורך צונויפגיסן? 642 00:52:45,950 --> 00:52:49,140 וואָס טאָן אַלע די קאַסעס מיינען? 643 00:52:49,140 --> 00:52:54,480 אַרויף דאָ, מיר רע נאָר טאן די זעלבע געדאַנק, דער - 644 00:52:56,970 --> 00:53:02,470 [תּלמיד] איך דאַרפֿן צו זייַן גייט פארביי גרייס מיט אַלע די מערגעסאָרטהעלפּ רופט. 645 00:53:02,470 --> 00:53:10,080 איך צוגעגעבן גרייס ווי אַ נאָך ערשטיק און עס ס נישט דאָרט, ווי גרייס / 2. 646 00:53:10,080 --> 00:53:16,210 [באָוודען] אָה, גרייס / 2, גרייס / 2. >> [תּלמיד] יאָ, און אויך אין די אויבן פונקציאָנירן ווי געזונט. 647 00:53:16,210 --> 00:53:21,320 [באָוודען] דאָ? >> [תּלמיד] פונקט גרייס. >> [באָוודען] טאַקע. גרייס, גרייס? >> [תּלמיד] יאָ. 648 00:53:21,320 --> 00:53:23,010 [באָוודען] אָוקיי. 649 00:53:23,010 --> 00:53:26,580 זאל מיר טראַכטן פֿאַר אַ רגע. 650 00:53:26,580 --> 00:53:28,780 צי מיר לויפן אין אַן אַרויסגעבן? 651 00:53:28,780 --> 00:53:33,690 מיר רע שטענדיק טרעאַטינג די לינקס ווי 0. >> [תּלמיד] נומ 652 00:53:33,690 --> 00:53:36,340 אַז ס אומרעכט אויך. אנטשולדיגט. עס זאָל זייַן אָנהייב. יאָ. 653 00:53:36,340 --> 00:53:39,230 [באָוודען] אָוקיי. איך ווי אַז בעסער. 654 00:53:39,230 --> 00:53:43,880 און סוף. אָוקיי. 655 00:53:43,880 --> 00:53:47,200 אַזוי איצט טאָן איר ווילן צו גיין אונדז דורך צונויפגיסן? >> [תּלמיד] אָוקיי. 656 00:53:47,200 --> 00:53:52,150 איך בין נאָר גיין דורך דעם נייַ מענגע אַז איך ווע באשאפן. 657 00:53:52,150 --> 00:53:57,420 זייַן גרייס איז די גרייס פון דעם חלק פון די מענגע אַז מיר ווילן צו זייַן אויסגעשטעלט 658 00:53:57,420 --> 00:54:03,460 און טריינג צו געפֿינען די עלעמענט אַז איך זאָל שטעלן אין די נייַ מענגע שריט. 659 00:54:03,460 --> 00:54:10,140 אַזוי צו טאָן וואָס, קודם איך בין קאָנטראָלירונג אויב די לינקס האַלב פון די מענגע האלט צו האָבן קיין מער יסודות, 660 00:54:10,140 --> 00:54:14,260 און אויב עס טוט נישט, דעמאָלט איר גיין אַראָפּ צו אַז אַנדערש צושטאַנד, וואָס נאָר זאגט 661 00:54:14,260 --> 00:54:20,180 אָוקיי, עס מוזן זייַן אין די רעכט מענגע, און מיר וועט שטעלן אַז אין די קראַנט אינדעקס פון נעוואַררייַ. 662 00:54:20,180 --> 00:54:27,620 >> און דעריבער אַנדערש, איך בין קאָנטראָלירונג אויב די רעכט זייַט פון די מענגע איז אויך פאַרטיק, 663 00:54:27,620 --> 00:54:30,630 אין וואָס פאַל איך נאָר שטעלן אין די לינקס. 664 00:54:30,630 --> 00:54:34,180 וואָס זאל ניט פאקטיש זייַן נייטיק. איך בין נישט זיכער. 665 00:54:34,180 --> 00:54:40,970 אבער סייַ ווי סייַ, די אנדערע צוויי טשעק וואָס פון די צוויי זענען קלענערער אין די לינקס אָדער די רעכט. 666 00:54:40,970 --> 00:54:49,770 און אויך אין יעדער פאַל, איך בין ינקרעמענטינג וועלכער פּלאַסעהאָלדער איך ינקראַמאַנט. 667 00:54:49,770 --> 00:54:52,040 [באָוודען] אָוקיי. 668 00:54:52,040 --> 00:54:53,840 וואָס קוקט גוט. 669 00:54:53,840 --> 00:54:58,800 טוט ווער עס יז האָבן באַמערקונגען אָדער קאַנסערנז אָדער שאלות? 670 00:55:00,660 --> 00:55:07,720 אַזוי די פיר פאלן וואָס מיר האָבן צו ברענגען דאס אין נאָר זייַענדיק - אָדער עס קוקט ווי פינף - 671 00:55:07,720 --> 00:55:13,100 אָבער מיר האָבן צו באַטראַכטן צי די לינקס מענגע האט לויפן אויס פון זאכן מיר דאַרפֿן צו צונויפגיסן, 672 00:55:13,100 --> 00:55:16,390 צי די רעכט מענגע האט לויפן אויס פון זאכן מיר דאַרפֿן צו צונויפגיסן - 673 00:55:16,390 --> 00:55:18,400 איך בין פּוינטינג בייַ גאָרנישט. 674 00:55:18,400 --> 00:55:21,730 אַזוי צי די לינקס מענגע האט לויפן אויס פון זאכן אָדער די רעכט מענגע האט לויפן אויס פון זאכן. 675 00:55:21,730 --> 00:55:24,320 יענע זענען צוויי פאלן. 676 00:55:24,320 --> 00:55:30,920 מיר אויך דאַרפֿן די נישטיק פאַל פון צי די לינקס זאַך איז ווייניקער ווי די רעכט זאַך. 677 00:55:30,920 --> 00:55:33,910 דעמאָלט מיר ווילן צו קלייַבן די לינקס זאַך. 678 00:55:33,910 --> 00:55:37,630 יענע זענען די קאַסעס. 679 00:55:37,630 --> 00:55:40,990 אַזוי דאָס איז רעכט, אַזוי אַז ס וואָס. 680 00:55:40,990 --> 00:55:46,760 מענגע לינקס. עס ס 1, 2, 3. אָוקיי. אַזוי יאָ, יענע זענען די פיר זאכן מיר זאל וועלן צו טאָן. 681 00:55:50,350 --> 00:55:54,510 און מיר וועט נישט גיין איבער אַ יטערייטיוו לייזונג. 682 00:55:54,510 --> 00:55:55,980 איך וואָלט נישט רעקאָמענדירן - 683 00:55:55,980 --> 00:56:03,070 צונויפגיסן סאָרט איז אַ בייַשפּיל פון אַ פֿונקציע וואָס איז ביידע נישט עק רעקורסיווע, 684 00:56:03,070 --> 00:56:07,040 עס ס 'נישט גרינג צו מאַכן עס עק רעקורסיווע, 685 00:56:07,040 --> 00:56:13,450 אָבער אויך עס ס ניט זייער גרינג צו מאַכן עס יטערייטיוו. 686 00:56:13,450 --> 00:56:16,910 דאס איז זייער גרינג. 687 00:56:16,910 --> 00:56:19,170 דאס ימפּלאַמענטיישאַן פון צונויפגיסן סאָרט, 688 00:56:19,170 --> 00:56:22,140 צונויפגיסן, קיין ענין וואָס איר טאָן, איר ניטאָ געגאנגען צו בויען צונויפגיסן. 689 00:56:22,140 --> 00:56:29,170 >> אַזוי צונויפגיסן סאָרט געבויט אויף שפּיץ פון צונויפגיסן רעקורסיוועלי איז נאָר די דרייַ שורות. 690 00:56:29,170 --> 00:56:34,700 יטעראַטיוועלי, עס איז מער אַנויינג און מער שווער צו טראַכטן וועגן. 691 00:56:34,700 --> 00:56:41,860 אבער באַמערקן אַז עס ס נישט עק רעקורסיווע זינט מערגעסאָרטהעלפּ - ווען עס רופט זיך - 692 00:56:41,860 --> 00:56:46,590 עס נאָך דאַרף צו טאָן זאכן נאָך דעם רעקורסיווע רופן קערט. 693 00:56:46,590 --> 00:56:50,830 אַזוי דעם אָנלייגן ראַם מוזן פאָרזעצן צו עקזיסטירן אַפֿילו נאָך פאַך דעם. 694 00:56:50,830 --> 00:56:54,170 און דעריבער ווען איר רופן דעם, די אָנלייגן ראַם מוזן פאָרזעצן צו עקזיסטירן 695 00:56:54,170 --> 00:56:57,780 ווייַל אַפֿילו נאָך וואָס רופן, מיר נאָך דאַרפֿן צו צונויפגיסן. 696 00:56:57,780 --> 00:57:01,920 און עס איז נאָנטריוויאַל צו מאַכן דעם עק רעקורסיווע. 697 00:57:04,070 --> 00:57:06,270 שאלות? 698 00:57:08,300 --> 00:57:09,860 אַלע רעכט. 699 00:57:09,860 --> 00:57:13,400 אַזוי געגאנגען צוריק צו סאָרט - אָה, דאָרט ס צוויי זאכן איך ווילן צו ווייַזן. אָוקיי. 700 00:57:13,400 --> 00:57:17,840 געגאנגען צוריק צו סאָרט, מיר וועט טאָן דעם געשווינד. 701 00:57:17,840 --> 00:57:21,030 אָדער זוכן. סאָרט? סאָרט. יאָ. 702 00:57:21,030 --> 00:57:22,730 גיי צוריק צו די ביגינינגז פון סאָרט. 703 00:57:22,730 --> 00:57:29,870 מיר ווילן צו שאַפֿן אַ אַלגערידאַם אַז סאָרץ די מענגע ניצן קיין אַלגערידאַם 704 00:57:29,870 --> 00:57:33,660 אין אָ פון ען. 705 00:57:33,660 --> 00:57:40,860 אַזוי ווי איז דאָס מעגלעך? טוט ווער עס יז האָבן קיין סאָרט פון - 706 00:57:40,860 --> 00:57:44,300 איך כינטיד איידער בייַ - 707 00:57:44,300 --> 00:57:48,300 אויב מיר רע וועגן צו פֿאַרבעסערן פון N קלאָץ N צו אָ פון N, 708 00:57:48,300 --> 00:57:51,450 מיר האָבן ימפּרוווד אונדזער אַלגערידאַם צייַט-קלוג, 709 00:57:51,450 --> 00:57:55,250 וואָס מיטל וואָס זענען מיר געגאנגען צו דאַרפֿן צו טאָן צו מאַכן אַרויף פֿאַר וואָס? 710 00:57:55,250 --> 00:57:59,520 [תּלמיד] ספעיס. >> יאָ. מיר רע געגאנגען צו זייַן ניצן מער פּלאַץ. 711 00:57:59,520 --> 00:58:04,490 און ניט אַפֿילו נאָר מער פּלאַץ, עס ס עקספּאָונענשאַלי מער פּלאַץ. 712 00:58:04,490 --> 00:58:14,320 אַזוי איך טראַכטן דעם טיפּ פון אַלגערידאַם איז פּסעוודאָ עפּעס, פּסעוודאָ פּאָלינאָם - 713 00:58:14,320 --> 00:58:18,980 פּסעוודאָ - איך קען נישט געדענקען. פּסעוודאָ עפּעס. 714 00:58:18,980 --> 00:58:22,210 אבער עס ס ווייַל מיר דאַרפֿן צו נוצן אַזוי פיל פּלאַץ 715 00:58:22,210 --> 00:58:28,610 אַז דאָס איז אַטשיוואַבאַל אָבער ניט רעאַליסטיש. 716 00:58:28,610 --> 00:58:31,220 >> און ווי טאָן מיר דערגרייכן דעם? 717 00:58:31,220 --> 00:58:36,810 מיר קענען דערגרייכן דעם אויב מיר גאַראַנטירן אַז קיין באַזונדער עלעמענט אין דער מענגע 718 00:58:36,810 --> 00:58:39,600 איז ווייטער אַ זיכער גרייס. 719 00:58:42,070 --> 00:58:44,500 אַזוי לאָזן ס נאָר זאָגן אַז נומער איז 200, 720 00:58:44,500 --> 00:58:48,130 קיין עלעמענט אין אַ מענגע איז ווייטער נומער 200. 721 00:58:48,130 --> 00:58:51,080 און דאָס איז פאקטיש זייער רעאַליסטיש. 722 00:58:51,080 --> 00:58:58,660 איר קענען זייער לייכט האָבן אַ מענגע אַז איר וויסן אַלץ אין עס 723 00:58:58,660 --> 00:59:00,570 איז געגאנגען צו זייַן ווייניקער ווי עטלעכע נומער. 724 00:59:00,570 --> 00:59:07,400 ווי אויב איר האָבן עטלעכע לעגאַמרע מאַסיוו וועקטאָר אָדער עפּעס 725 00:59:07,400 --> 00:59:11,810 אָבער איר וויסן אַלץ איז געגאנגען צו זייַן צווישן 0 און 5, 726 00:59:11,810 --> 00:59:14,790 דעמאָלט עס ס געגאנגען צו זייַן באטייטיק פאַסטער צו טאָן דעם. 727 00:59:14,790 --> 00:59:17,930 און די געבונדן אויף קיין פון די עלעמענטן איז 5, 728 00:59:17,930 --> 00:59:21,980 אַזוי דעם געבונדן, וואָס איז ווי פיל זכּרון איר ניטאָ געגאנגען צו זייַן ניצן. 729 00:59:21,980 --> 00:59:26,300 אַזוי די געבונדן איז 200. 730 00:59:26,300 --> 00:59:32,960 אין טעאָריע עס איז שטענדיק אַ געבונדן זינט אַ ינטעגער קענען נאָר זייַן אַרויף צו 4000000000, 731 00:59:32,960 --> 00:59:40,600 אָבער אַז ס אַנריליסטיק זינט דעמאָלט מיר 'ד ווערן ניצן אָרט 732 00:59:40,600 --> 00:59:44,400 אויף די סדר פון 4000000000. אַזוי אַז ס אַנריליסטיק. 733 00:59:44,400 --> 00:59:47,060 אבער דאָ מיר וועט זאָגן אונדזער געבונדן איז 200. 734 00:59:47,060 --> 00:59:59,570 די קונץ צו טאן עס אין אָ פון N איז מיר מאַכן אן אנדער מענגע גערופן קאַונץ פון גרייס געבונדן. 735 00:59:59,570 --> 01:00:10,470 אַזוי פאקטיש, דאָס איז אַ דורכוועג פֿאַר - איך פאקטיש טאָן ניט וויסן אויב קלאַנג טוט דאָס. 736 01:00:11,150 --> 01:00:15,330 אבער אין גקק בייַ די זייער מינדסטער - אַם אַסומינג קלאַנג טוט עס אויך - 737 01:00:15,330 --> 01:00:18,180 דאָס וועט נאָר ינישאַלייז די גאנצע מענגע צו זייַן 0ס. 738 01:00:18,180 --> 01:00:25,320 אַזוי אויב איך טאָן נישט וועלן צו טאָן וואָס, דעמאָלט איך קען סעפּעראַטלי טאָן פֿאַר (ינט איך = 0; 739 01:00:25,320 --> 01:00:31,500 איך <געבונדן; איך + +) און קאַונץ [איך] = 0; 740 01:00:31,500 --> 01:00:35,260 אַזוי איצט אַלץ איז ינישאַלייזד צו 0. 741 01:00:35,260 --> 01:00:39,570 איך יטעראַטע איבער מיין מענגע, 742 01:00:39,570 --> 01:00:51,920 און וואָס איך בין טאן איז איך בין קאַונטינג די נומער פון יעדער - זאל ס גיין אַראָפּ דאָ. 743 01:00:51,920 --> 01:00:55,480 מיר האָבן 4, 15, 16, 50, 8, 23, 42, 108. 744 01:00:55,480 --> 01:01:00,010 וואָס איך בין קאַונטינג איז די נומער פון פֿאַלן פון יעדער פון יענע עלעמענטן. 745 01:01:00,010 --> 01:01:03,470 זאל ס 'פאקטיש לייגן אַ פּאָר מער אין דאָ מיט עטלעכע ריפּיץ. 746 01:01:03,470 --> 01:01:11,070 אַזוי דער ווערט מיר האָבן דאָ, די ווערט פון וואָס איז געגאנגען צו זייַן מענגע [איך]. 747 01:01:11,070 --> 01:01:14,850 אַזוי וואַל קען זייַן 4 אָדער 8 אָדער וועלכער. 748 01:01:14,850 --> 01:01:18,870 און איצט איך בין קאַונטינג ווי פילע פון ​​וואָס ווערט איך ווע געזען, 749 01:01:18,870 --> 01:01:21,230 אַזוי קאַונץ [וואַל] + +; 750 01:01:21,230 --> 01:01:29,430 נאָך דעם איז געשען, קאַונץ איז געגאנגען צו קוקן עפּעס ווי 0001. 751 01:01:29,430 --> 01:01:42,190 זאל ס טאָן קאַונץ [וואַל] - געבונדן + 1. 752 01:01:42,190 --> 01:01:48,230 >> איצט אַז ס נאָר צו חשבון פֿאַר דער פאַקט אַז מיר רע סטאַרטינג פון 0. 753 01:01:48,230 --> 01:01:50,850 אַזוי אויב 200 איז געגאנגען צו זייַן אונדזער גרעסטן נומער, 754 01:01:50,850 --> 01:01:54,720 דעמאָלט 0-200 איז 201 זאכן. 755 01:01:54,720 --> 01:02:01,540 אַזוי קאַונץ, עס וועט קוקן ווי 00,001 ווייַל מיר האָבן איין 4. 756 01:02:01,540 --> 01:02:10,210 דעמאָלט מיר וועט האָבן 0001 ווו מיר וועט האָבן אַ 1 אין די 8 אינדעקס פון ציילן. 757 01:02:10,210 --> 01:02:14,560 מיר וועט האָבן אַ 2 אין די 23 אינדעקס פון ציילן. 758 01:02:14,560 --> 01:02:17,630 מיר וועט האָבן אַ 2 אין די 42 אינדעקס פון ציילן. 759 01:02:17,630 --> 01:02:21,670 אַזוי מיר קענען נוצן ציילן. 760 01:02:34,270 --> 01:02:44,920 אַזוי נומ_אָפ_יטעם = קאַונץ [איך]. 761 01:02:44,920 --> 01:02:52,540 און אַזוי אויב נומ_אָפ_יטעם איז 2, אַז מיטל מיר ווילן צו אַרייַנלייגן 2 פון די נומער איך 762 01:02:52,540 --> 01:02:55,290 אין אונדזער אויסגעשטעלט מענגע. 763 01:02:55,290 --> 01:03:02,000 אַזוי מיר דאַרפֿן צו האַלטן שפּור פון ווי ווייַט מיר זענען אין די מענגע. 764 01:03:02,000 --> 01:03:05,470 אַזוי אינדעקס = 0. 765 01:03:05,470 --> 01:03:09,910 מענגע - איך וועט נאָר שרייַבן עס. 766 01:03:16,660 --> 01:03:18,020 קאַונץ - 767 01:03:19,990 --> 01:03:28,580 מענגע [אינדעקס + +] = איך; 768 01:03:28,580 --> 01:03:32,490 איז אַז וואָס איך וועלן? איך טראַכטן אַז ס וואָס איך ווילן. 769 01:03:35,100 --> 01:03:38,290 יא, דאָס קוקט גוט. אָוקיי. 770 01:03:38,290 --> 01:03:43,050 אַזוי טוט אַלעמען פֿאַרשטיין וואָס דער ציל פון מיין קאַונץ מענגע איז? 771 01:03:43,050 --> 01:03:48,140 עס איז קאַונטינג די נומער פון פֿאַלן פון יעדער פון די נומערן. 772 01:03:48,140 --> 01:03:51,780 דעמאָלט איך בין יטעראַטינג איבער אַז קאַונץ מענגע, 773 01:03:51,780 --> 01:03:57,190 און די יטה שטעלע אין דער קאַונץ מענגע 774 01:03:57,190 --> 01:04:01,930 איז די נומער פון איך ס וואָס זאָל דערשייַנען אין מיין אויסגעשטעלט מענגע. 775 01:04:01,930 --> 01:04:06,840 אַז ס וואָס קאַונץ פון 4 איז געגאנגען צו זייַן 1 776 01:04:06,840 --> 01:04:11,840 און קאַונץ פון 8 איז געגאנגען צו זייַן 1, קאַונץ פון 23 איז געגאנגען צו זייַן 2. 777 01:04:11,840 --> 01:04:16,900 אַזוי אַז ס ווי פילע פון ​​זיי איך ווילן צו אַרייַנלייגן אין מיין אויסגעשטעלט מענגע. 778 01:04:16,900 --> 01:04:19,200 דעמאָלט איך נאָר טאָן אַז. 779 01:04:19,200 --> 01:04:28,960 איך בין ינסערטינג נומ_אָפ_יטעם איך ס אין מיין אויסגעשטעלט מענגע. 780 01:04:28,960 --> 01:04:31,670 >> שאלות? 781 01:04:32,460 --> 01:04:43,100 און אַזוי ווידער, דאָס איז לינעאַר מאָל זינט מיר זענען נאָר יטעראַטינג איבער דעם אַמאָל, 782 01:04:43,100 --> 01:04:47,470 אָבער עס ס אויך לינעאַר אין וואָס דעם נומער כאַפּאַנז צו זייַן, 783 01:04:47,470 --> 01:04:50,730 און אַזוי עס שווער דעפּענדס אויף וואָס דיין געבונדן איז. 784 01:04:50,730 --> 01:04:53,290 מיט אַ געבונדן פון 200, וואָס ס 'נישט אַז שלעכט. 785 01:04:53,290 --> 01:04:58,330 אויב דיין געבונדן איז געגאנגען צו זייַן 10,000, דעמאָלט אַז ס אַ ביסל ערגער, 786 01:04:58,330 --> 01:05:01,360 אָבער אויב דיין געבונדן איז געגאנגען צו זייַן 4000000000, אַז ס גאָר אַנריליסטיק 787 01:05:01,360 --> 01:05:07,720 און דעם מענגע איז געגאנגען צו האָבן צו זייַן פון גרייס 4000000000, וואָס איז אַנריליסטיק. 788 01:05:07,720 --> 01:05:10,860 אַזוי אַז ס וואָס. שאלות? 789 01:05:10,860 --> 01:05:13,270 [ינאָדאַבאַל תּלמיד ענטפער] >> אָוקיי. 790 01:05:13,270 --> 01:05:15,710 איך איינגעזען איין אנדערע זאַך ווען מיר זענען געגאנגען דורך. 791 01:05:17,980 --> 01:05:23,720 איך טראַכטן די פּראָבלעם איז געווען אין לוקאַס ס און מיסטאָמע יעדער איין איינער מיר ווע געזען. 792 01:05:23,720 --> 01:05:26,330 איך גאָר פֿאַרגעסן. 793 01:05:26,330 --> 01:05:31,040 דער בלויז זאַך איך געוואלט צו באַמערקן אויף איז אַז ווען איר ניטאָ דילינג מיט זאכן ווי ינדיסעס, 794 01:05:31,040 --> 01:05:38,320 איר קיינמאָל טאַקע זען דעם ווען איר ניטאָ שרייבן אַ פֿאַר שלייף, 795 01:05:38,320 --> 01:05:41,120 אָבער טעקניקלי, ווען איר ניטאָ דילינג מיט די ינדיסעס, 796 01:05:41,120 --> 01:05:45,950 איר זאָל שיין פיל שטענדיק האַנדלען מיט אַנסיינד ינטאַדזשערז. 797 01:05:45,950 --> 01:05:53,850 די סיבה פֿאַר דעם איז ווען איר ניטאָ דילינג מיט געחתמעט ינטאַדזשערז, 798 01:05:53,850 --> 01:05:56,090 אַזוי אויב איר האָט 2 געחתמעט ינטאַדזשערז און איר שטעלן זיי צוזאַמען 799 01:05:56,090 --> 01:06:00,640 און זיי סוף אַרויף אויך גרויס, דעריבער איר סוף אַרויף מיט אַ נעגאַטיוו נומער. 800 01:06:00,640 --> 01:06:03,410 אַזוי אַז ס וואָס ינטעגער לויפן איז. 801 01:06:03,410 --> 01:06:10,500 >> אויב איך לייג 2000000000 און 1000000000, איך סוף אַרויף מיט נעגאַטיוו 1000000000. 802 01:06:10,500 --> 01:06:15,480 אַז ס ווי ינטאַדזשערז אַרבעט אויף קאָמפּיוטערס. 803 01:06:15,480 --> 01:06:17,510 אַזוי דער פּראָבלעם מיט ניצן - 804 01:06:17,510 --> 01:06:23,500 אַז ס פייַן חוץ אויב נידעריק כאַפּאַנז צו זייַן 2000000000 און אַרויף כאַפּאַנז צו זייַן 1000000000, 805 01:06:23,500 --> 01:06:27,120 דעמאָלט דעם איז געגאנגען צו זייַן נעגאַטיוו 1000000000 און דעמאָלט מיר רע געגאנגען צו טיילן אַז דורך 2 806 01:06:27,120 --> 01:06:29,730 און סוף אַרויף מיט נעגאַטיוו 500,000,000. 807 01:06:29,730 --> 01:06:33,760 אַזוי דאָס איז בלויז אַן אַרויסגעבן אויב איר פּאַסירן צו זייַן שאַרף דורך אַ מענגע 808 01:06:33,760 --> 01:06:38,070 פון ביליאַנז פון זאכן. 809 01:06:38,070 --> 01:06:44,050 אבער אויב נידעריק + אַרויף כאַפּאַנז צו לויפן, דעמאָלט אַז ס אַ פּראָבלעם. 810 01:06:44,050 --> 01:06:47,750 ווי באַלד ווי מיר מאַכן זיי אַנסיינד, דעמאָלט 2000000000 פּלוס 1000000000 איז 3000000000. 811 01:06:47,750 --> 01:06:51,960 3000000000 צעטיילט דורך 2 איז 1500000000. 812 01:06:51,960 --> 01:06:55,670 אַזוי ווי באַלד ווי זיי ניטאָ אַנסיינד, אַלץ איז גאנץ. 813 01:06:55,670 --> 01:06:59,900 און אַזוי אַז ס אויך אַן אַרויסגעבן ווען איר ניטאָ שרייבן דיין פֿאַר לופּס, 814 01:06:59,900 --> 01:07:03,940 און פאקטיש, עס מיסטאָמע טוט עס אויטאָמאַטיש. 815 01:07:09,130 --> 01:07:12,330 עס וועט פאקטיש נאָר שרייַען בייַ איר. 816 01:07:12,330 --> 01:07:21,610 אַזוי אויב דעם נומער איז אויך גרויס צו זייַן אין נאָר אַ ינטעגער אָבער עס וואָלט פּאַסיק אין אַ אַנסיינד ינטעגער, 817 01:07:21,610 --> 01:07:24,970 עס וועט שרייַען בייַ איר, אַזוי אַז ס וואָס איר קיינמאָל טאַקע לויפן אין די אַרויסגעבן. 818 01:07:29,150 --> 01:07:34,820 איר קענען זען אַז אַן אינדעקס איז קיינמאָל געגאנגען צו זייַן נעגאַטיוו, 819 01:07:34,820 --> 01:07:39,220 און אַזוי ווען איר ניטאָ יטעראַטינג איבער אַ מענגע, 820 01:07:39,220 --> 01:07:43,970 איר קענען כּמעט שטענדיק זאָגן אַנסיינד ינט איך, אָבער איר טאָן ניט טאַקע האָבן צו. 821 01:07:43,970 --> 01:07:47,110 דאס זענען געגאנגען צו אַרבעטן שיין פיל נאָר ווי געזונט. 822 01:07:48,740 --> 01:07:50,090 אָוקיי. [כוויספּערז] וואָס מאָל איז עס? 823 01:07:50,090 --> 01:07:54,020 די לעצטע זאַך איך געוואלט צו ווייַזן - און איך וועט נאָר טאָן עס טאַקע שנעל. 824 01:07:54,020 --> 01:08:03,190 איר וויסן ווי מיר האָבן # דעפינירן אַזוי מיר קענען # דעפינירן מאַקס ווי 5 אָדער עפּעס? 825 01:08:03,190 --> 01:08:05,940 זאל ס נישט טאָן מאַקס. # דעפינירן געבונדן ווי 200. אַז ס 'וואָס מיר האבן פריער. 826 01:08:05,940 --> 01:08:10,380 אַז דיפיינז אַ קעסיידערדיק, וואָס איז נאָר געגאנגען צו זייַן קאַפּיד און פּייסטיד 827 01:08:10,380 --> 01:08:13,010 וואוהין מיר פּאַסירן צו שרייַבן געבונדן. 828 01:08:13,010 --> 01:08:18,189 >> אַזוי מיר קענען פאקטיש טאָן מער מיט # דיפיינז. 829 01:08:18,189 --> 01:08:21,170 מיר קענען # דעפינירן פאַנגקשאַנז. 830 01:08:21,170 --> 01:08:23,410 זיי ניטאָ ניט טאַקע פאַנגקשאַנז, אָבער מיר וועט רופן זיי פאַנגקשאַנז. 831 01:08:23,410 --> 01:08:36,000 אַ בייַשפּיל וואָלט זייַן עפּעס ווי מאַקס (X, י) איז דיפיינד ווי (X <י? י: X). אָוקיי. 832 01:08:36,000 --> 01:08:40,660 אַזוי איר זאָל באַקומען געניצט צו טערנאַרי אָפּעראַטאָר סינטאַקס, 833 01:08:40,660 --> 01:08:49,029 אָבער איז X ווייניקער ווי י? צוריקקומען י, אַנדערש צוריקקומען X. 834 01:08:49,029 --> 01:08:54,390 אַזוי איר קענען זען איר קענען מאַכן דעם אַ באַזונדער פונקציאָנירן, 835 01:08:54,390 --> 01:09:01,399 און די פֿונקציע קען זייַן ווי באָאָל מאַקס נעמט 2 טענות, צוריקקומען דעם. 836 01:09:01,399 --> 01:09:08,340 דאס איז איינער פון די מערסט פּראָסט אָנעס איך זען געטאן ווי דעם. מיר רופן זיי מאַקראָס. 837 01:09:08,340 --> 01:09:11,790 דאס איז אַ מאַקראָו. 838 01:09:11,790 --> 01:09:15,859 דאס איז נאָר די סינטאַקס פֿאַר עס. 839 01:09:15,859 --> 01:09:18,740 איר קענען שרייַבן אַ מאַקראָו צו טאָן וועלכער איר ווילן. 840 01:09:18,740 --> 01:09:22,649 איר אָפט זען מאַקראָס פֿאַר דיבאַגינג פּרינטפס און שטאָפּן. 841 01:09:22,649 --> 01:09:29,410 אַזוי אַ טיפּ פון פּרינטף, עס זענען ספּעציעל קאַנסטאַנץ אין C ווי אַנדערסקאָר ליניע אַנדערסקאָר, 842 01:09:29,410 --> 01:09:31,710 2 שטרייכט ליניע אַנדערסקאָר, 843 01:09:31,710 --> 01:09:37,550 און דאָרט ס אויך איך טראַכטן 2 שטרייכט פונק. וואָס זאל זייַן עס. עפּעס ווי אַז. 844 01:09:37,550 --> 01:09:40,880 יענע זאכן וועט זייַן ריפּלייסט מיט די נאָמען פון די פֿונקציע 845 01:09:40,880 --> 01:09:42,930 אָדער די נומער פון די שורה וואָס איר ניטאָ אויף. 846 01:09:42,930 --> 01:09:48,630 אָפט, איר שרייַבן דיבאַגינג פּרינטפס אַז אַראָפּ דאָ איך קען דעריבער נאָר שרייַבן 847 01:09:48,630 --> 01:09:54,260 דעבוג און עס וועט דרוקן די שורה נומער און פונקציאָנירן אַז איך פּאַסירן צו זייַן אין 848 01:09:54,260 --> 01:09:57,020 אַז עס געפּלאָנטערט אַז דעבוג סטאַטעמענט. 849 01:09:57,020 --> 01:09:59,550 און איר קענען אויך דרוקן אנדערע זאכן. 850 01:09:59,550 --> 01:10:05,990 אַזוי איין זאַך איר זאָל וואַך אויס פֿאַר איז אויב איך פּאַסירן צו # דעפינירן דאָובלע_מאַקס 851 01:10:05,990 --> 01:10:11,380 ווי עפּעס ווי 2 * י און 2 * X. 852 01:10:11,380 --> 01:10:14,310 אַזוי פֿאַר וועלכער סיבה, איר פּאַסירן צו טאָן אַז אַ פּלאַץ. 853 01:10:14,310 --> 01:10:16,650 אַזוי מאַכן עס אַ מאַקראָו. 854 01:10:16,650 --> 01:10:18,680 דאס איז פאקטיש צעבראכן. 855 01:10:18,680 --> 01:10:23,050 איך וואָלט רופן עס דורך טאן עפּעס ווי דאָובלע_מאַקס (3, 6). 856 01:10:23,050 --> 01:10:27,530 אַזוי וואָס זאָל זייַן אומגעקערט? 857 01:10:28,840 --> 01:10:30,580 [תּלמיד] 12. 858 01:10:30,580 --> 01:10:34,800 יא, 12 זאָל זייַן אומגעקערט, און 12 איז אומגעקערט. 859 01:10:34,800 --> 01:10:43,350 3 געץ ריפּלייסט פֿאַר X, 6 געץ ריפּלייסט פֿאַר י, און מיר צוריקקומען 2 * 6, וואָס איז 12. 860 01:10:43,350 --> 01:10:47,710 איצט וואָס וועגן דעם? וואָס זאָל זייַן אומגעקערט? 861 01:10:47,710 --> 01:10:50,330 [תּלמיד] 14. >> ידעאַללי, 14. 862 01:10:50,330 --> 01:10:55,290 די אַרויסגעבן איז אַז ווי האַש דיפיינז אַרבעט, געדענקען עס ס אַ פּשאַט - פּאָשעט קאָפּיע און פּאַפּ 863 01:10:55,290 --> 01:11:00,160 פון שיין פיל אַלץ, אַזוי וואָס דאָס איז געגאנגען צו זייַן ינטערפּראַטאַד ווי 864 01:11:00,160 --> 01:11:11,270 איז 3 ווייניקער ווי 1 פּלוס 6, 2 מאל 1 פּלוס 6, 2 מאל 3. 865 01:11:11,270 --> 01:11:19,780 >> אַזוי פֿאַר דעם סיבה איר כּמעט שטענדיק ייַנוויקלען אַלץ אין קלאַמערן. 866 01:11:22,180 --> 01:11:25,050 קיין בייַטעוודיק איר כּמעט שטענדיק ייַנוויקלען אין קלאַמערן. 867 01:11:25,050 --> 01:11:29,570 עס זענען פאלן ווו איר טאָן ניט האָבן צו, ווי איך וויסן אַז איך טאָן ניט דאַרפֿן צו טאָן אַז דאָ 868 01:11:29,570 --> 01:11:32,110 ווייַל ווייניקער ווי איז שיין פיל שטענדיק נאָר געגאנגען צו אַרבעטן, 869 01:11:32,110 --> 01:11:34,330 כאָטש וואָס זאל נישט אַפֿילו זייַן אמת. 870 01:11:34,330 --> 01:11:41,870 אויב עס איז עפּעס לעכערלעך ווי דאָובלע_מאַקס (1 == 2), 871 01:11:41,870 --> 01:11:49,760 דעמאָלט אַז ס געגאנגען צו באַקומען ריפּלייסט מיט 3 ווייניקער ווי 1 יקוואַלז יקוואַלז 2, 872 01:11:49,760 --> 01:11:53,460 און אַזוי דעמאָלט עס ס געגאנגען צו טאָן 3 ווייניקער ווי 1, טוט וואָס גלייַך 2, 873 01:11:53,460 --> 01:11:55,620 וואָס איז נישט וואָס מיר ווילן. 874 01:11:55,620 --> 01:12:00,730 אַזוי אין סדר צו פאַרמייַדן קיין אָפּעראַטאָר פאָרהאַנט פּראָבלעמס, 875 01:12:00,730 --> 01:12:02,870 שטענדיק ייַנוויקלען אין קלאַמערן. 876 01:12:03,290 --> 01:12:07,700 אָוקיי. און אַז ס עס, 5:30. 877 01:12:08,140 --> 01:12:12,470 אויב איר האָט קיין שאלות אויף די פּסעט, לאָזן אונדז וויסן. 878 01:12:12,470 --> 01:12:18,010 עס זאָל זייַן שפּאַס, און די העקער Edition אויך איז פיל מער רעאַליסטיש 879 01:12:18,010 --> 01:12:22,980 ווי די העקער אויסגאבע פון ​​לעצטע יאָר ס, אַזוי מיר האָפֿן אַז אַ פּלאַץ פון איר פּרובירן עס. 880 01:12:22,980 --> 01:12:26,460 לעצטע יאָר ס 'איז געווען זייער אָוווערוועלמינג. 881 01:12:28,370 --> 01:12:30,000 >> [CS50.TV]