[מוזיק פּלייַינג] זאַמילאַ טשאַן: דער ערשטער זאַך איר זאל באַמערקן וועגן געפינען איז אַז מיר שוין האָבן קאָוד געשריבן פֿאַר אונדז. דעם איז גערופן פאַרשפּרייטונג קאָד. אַזוי מיר ניטאָ ניט נאָר שרייבט אונדזער אייגן קאָד פון קראַצן ענימאָר. גאַנץ, מיר 'רע פילונג אין די וווידז אין עטלעכע פאַר - יגזיסטינג קאָד. די פינד.ק פּראָגראַם פּראַמפּס פֿאַר נומערן צו פּלאָמבירן די כייסטאַק, אָנפֿרעגן די כייסטאַק פֿאַר אַ באַניצער דערלאנגט נאָדל, און עס טוט דעם דורך פאַך סאָרט און זוכן, פאַנגקשאַנז דיפיינד אין העלפּערס.ק. אַזוי פינד.ק איז געשריבן שוין. דיין אַרבעט איז צו שרייַבן העלפּערס. אַזוי וואָס זענען מיר טאן? מיר ניטאָ ימפּלאַמענינג צוויי פאַנגקשאַנז. זוכן, וואָס קערט אמת אויב אַ ווערט איז געפונען אין דער כייסטאַק, אומגעקערט פאַלש אויב די ווערט איז ניט אין דער כייסטאַק. און דעמאָלט מיר ניטאָ אויך ימפּלאַמענינג סאָרט וואָס סאָרץ די מענגע גערופן וואַלועס. אַזוי לאָזן ס מאַכנ זוכן. זוכן איז איצט ימפּלאַמענטאַד ווי אַ לינעאַר זוכן, אָבער איר קענען טאָן פיל בעסער ווי אַז. לינעאַר זוכן איז ימפּלאַמענטאַד אין אָ פון N צייַט, וואָס איז גאַנץ פּאַמעלעך. כאָטש, עס קענען זוכן קיין רשימה געגעבן צו עס. דיין אַרבעט איז צו מאַכשער ביינערי זוכן, וואָס האט לויפן צייַט אָ פון קלאָץ N. אַז ס שיין שנעל. אבער עס ס אַ סטיפּיאַליישאַן. ביינערי זוכן קענען בלויז זוכן דורך פאַר - אויסגעשטעלט רשימות. וואָס איז אַז? גוט לאָזן ס קוק בייַ אַ בייַשפּיל. געגעבן אַ מענגע פון ​​וואַלועס, די כייסטאַק, מיר ניטאָ געגאנגען צו זיין קוקן פֿאַר אַ נאָדל. און אין דעם בייַשפּיל, די ינטאַדזשער דרייַ. די וועג אַז ביינערי זוכן אַרבעט איז אַז מיר פאַרגלייַכן די מיטל ווערט פון די מענגע צו די נאָדל, פיל ווי ווי מיר געעפנט אַ טעלעפון בוך צו די מיטל בלאַט אין וואָך נול. אַזוי נאָך קאַמפּערינג די מיטל ווערט צו די נאָדל, איר קענען אַוועקוואַרפן אָדער די לינקס אָדער די רעכט העלפט פון די מענגע דורך טייטנינג דיין גווול. אין דעם פאַל, זינט דרייַ, אונדזער נאָדל, איז ווייניקער ווי 10, די מיטל ווערט, די רעכט געבונדן קענען פאַרמינערן. אבער פּרובירן צו מאַכן אייער גווול ווי ענג ווי מעגלעך. אויב די מיטל ווערט איז ניט דער נאָדל, דעמאָלט איר וויסן אַז איר טאָן ניט דאַרפֿן צו אַרייַננעמען עס אין אייער זוכן. אַזוי איר ניטאָ רעכט געבונדן קענען פאַרשטייַפן די זוכן גווול נאָר אַ קליינטשיק ביסל מער, און אַזוי אויף און אַזוי אַרויס ביז איר געפינען דיין נאָדל. אַזוי וואָס טוט די פּסעודאָקאָדע קוקן ווי? גוט בשעת מיר ניטאָ נאָך קוקן דורך דער רשימה און נאָך האָבן יסודות צו קוק אין, מיר נעמען די מיטל פון דער רשימה, און פאַרגלייַכן אַז מיטל ווערט צו אונדזער נאָדל. אויב זיי ניטאָ גלייַך, דעמאָלט אַז מיטל מיר 'ווע געפונען די נאָדל און מיר קענען צוריקקומען אמת. אַנדערש, אויב די נאָדל איז ווייניקער ווי די מיטל ווערט, דעמאָלט אַז מיטל מיר קענען אַוועקוואַרפן די רעכט העלפט, און פּונקט זוכן די לינק זייַט פון די מענגע. אַנדערש, מיר וועט זוכן די רעכט זייַט פון די מענגע. און אין די סוף, אויב איר טאָן ניט האָבן קיין מער יסודות לינק צו זוכן אָבער איר האָבן ניט געפונען דיין נאָדל נאָך, דעמאָלט איר צוריקקומען פאַלש ווייַל די נאָדל באשטימט איז ניט אין דער כייסטאַק. איצט אַ ציכטיק זאַך וועגן דעם פּסעודאָקאָדע אין ביינערי זוכן איז אַז עס קענען זיין ינטערפּראַטאַד ווי אָדער אַ יטערייטיוו אָדער רעקורסיווע ימפּלאַמענטיישאַן. אַזוי עס וואָלט זיין רעקורסיווע אויב איר גערופן די זוכן פֿונקציע ין דער זוכן פונקציאָנירן אויף אָדער העלפט פון די מענגע. מיר וועט דעקן רעקורסיאָן אַ ביסל שפּעטער אין די קורס, אָבער טאָן וויסן אַז עס איז אַ אָפּציע אויב איר 'ד ווי צו פּרובירן. איצט לאָזן ס קוק אין סאָרט. סאָרט נעמט אַ מענגע און די ינטעגער ן, וואָס איז די נומער פון די מענגע. איצט עס זענען פאַרשידן פאַרשידענע טייפּס פון סאָרץ, און איר קענען קוקן אין עטלעכע קורצע הייזלעך פֿאַר דעמאָס און דערקלערונגען. דער צוריקקער טיפּ פֿאַר אונדזער סאָרט פֿונקציע איז פּאָסל. אַזוי אַז מיטל אַז מיר ניטאָ ניט געגאנגען צו צוריקקומען קיין מענגע פון ​​סאָרט. מיר ניטאָ פאקטיש געגאנגען צו טוישן די זייער מענגע אַז איז דורכגעגאנגען אין אונדז. און אַז ס מעגלעך ווייַל ערייז זענען דורכגעגאנגען דורך דערמאָנען אין סי איצט מיר וועט זען מער וועגן דעם שפּעטער, אָבער די יקערדיק חילוק צווישן גייט פארביי אין עפּעס ווי אַ ינטאַדזשער און גייט פארביי אין אַ מענגע, איז אַז ווען איר פאָרן אין אַ ינטאַדזשער, C איז נאָר געגאנגען צו מאַכן אַ קאָפּיע פון ​​וואָס ינטעגער און פאָרן עס צו די פֿונקציע. דער אָריגינעל בייַטעוודיק וועט ניט ווערן פארענדערט אַמאָל די פֿונקציע איז פאַרטיק. מיט אַ מענגע, אויף די אנדערע האנט, עס ס ניט געגאנגען צו מאַכן אַ קאָפּיע, און איר וועט פאקטיש זיין עדיטינג די זייער מענגע זיך. אַזוי איין טיפּ פון סאָרט איז די סעלעקציע סאָרט. די סעלעקציע סאָרט אַרבעט דורך סטאַרטינג בייַ די אָנהייב, און דעמאָלט איר יטעראַטע איבער און געפינען די קלענסטער עלעמענט. און דעמאָלט איר ויסבייַטן אַז קלענסטער עלעמענט מיט דער ערשטער איינער. און דעמאָלט איר מאַך צו די רגע עלעמענט , געפינען דער ווייַטער קלענסטער עלעמענט, און דעמאָלט ויסבייַטן אַז מיט די רגע עלעמענט אין דער מענגע ווייַל דער ערשטער עלעמענט איז שוין אויסגעשטעלט. און אַזוי דעמאָלט איר פאָרזעצן פֿאַר יעדער עלעמענט אין יידענטאַפייינג די סמאָלאַסט ווערט און סוואַפּינג עס אויס. פֿאַר איך יקוואַלז 0, די זייער ערשטער עלעמענט צו N מינוס 1, איר ניטאָ געגאנגען צו פאַרגלייַכן יעדער ווייַטער ווערט נאָך אַז און געפינען די אינדעקס פון די מינימום ווערט. אַמאָל איר געפינען די מינימום ווערט אינדעקס, איר קענען ויסבייַטן אַז ווערט פון מענגע מינימום און מענגע אויך אן אנדער טיפּ פון סאָרט אַז איר קענען מאַכשער איז בלאָז סאָרט. אַזוי בלאָז סאָרט יטעראַטעס איבער דער רשימה קאַמפּערינג שכייניש יסודות און סוואַפּינג די יסודות אַז זענען אין דעם אומרעכט סדר. און דעם וועג, די גרעסטן עלעמענט וועט בלאָז צו די סוף. און די רשימה איז אויסגעשטעלט אַמאָל ניט מער עלעמענטן האָבן שוין סוואַפּט. אַזוי די זענען צוויי ביישפילן פון סאָרט אַלגערידאַמז אַז איר קענען מאַכשער פֿאַר די געפינען פּראָגראַם. אַמאָל איר ענדיקן סאָרט, און איר 'ווע געטאן זוכן, איר ניטאָ פאַרטיק. מיין נאָמען איז זאַמילאַ, און דעם איז קס50. [מוזיק פּלייַינג]