1
00:00:01,100 --> 00:00:07,270
I ten film mam zamiar iść na tworzeniu rozwiązań dla tego problemu tablicy set zaczyna od zera.

2
00:00:07,290 --> 00:00:10,250
Więc pierwszy mamy jest odsyłających drukowania.

3
00:00:10,260 --> 00:00:11,100
Więc zanim zaczniemy.

4
00:00:11,100 --> 00:00:15,780
A kiedy się moje pliki poprawnie skonfigurowany Mam już w wieku go złożyć.

5
00:00:15,780 --> 00:00:18,020
Właśnie to rozwiązanie, które nazywa HMO.

6
00:00:18,450 --> 00:00:28,170
Zamierzam zawierać źródło tag skryptu równą rozwiązania, które J S, a następnie trzeba utworzyć ten plik.

7
00:00:28,450 --> 00:00:30,620
Warto więc zapisać, że rozwiązanie.

8
00:00:30,730 --> 00:00:31,840
Tak.

9
00:00:32,940 --> 00:00:37,860
I jak zawsze chciałbym zacząć od mojej rady, ale log podłączony.

10
00:00:39,090 --> 00:00:39,650
Chodźmy.

11
00:00:39,660 --> 00:00:41,490
Po otwarciu w przeglądarce.

12
00:00:42,450 --> 00:00:45,830
Otwórz konsolę i widzimy są połączone.

13
00:00:46,110 --> 00:00:46,860
W porządku.

14
00:00:46,860 --> 00:00:49,390
Więc zacznijmy od druku do tyłu.

15
00:00:49,450 --> 00:00:51,180
Więc druku odwrotnego jest funkcją.

16
00:00:51,540 --> 00:00:57,640
Więc zacznę od zdefiniowania funkcji drukowania odwrotnie która przyjmuje jeden argument i tablicę.

17
00:00:57,690 --> 00:01:03,340
Ja po prostu nazwać to R R i wszystko, co musisz zrobić, to pętli tablicy.

18
00:01:03,600 --> 00:01:10,140
Poza chcemy pętli wstecz od końca tablicy na początku, a potem będziemy zadzwoń jego var zalogować każdą pozycję.

19
00:01:10,200 --> 00:01:12,510
Więc foreach nie będzie idealne tutaj.

20
00:01:12,690 --> 00:01:17,780
Mamy zamiar użyć pętli for, która jest nieco bardziej elastyczne w porządku, że przechodzenie przez listę.

21
00:01:18,390 --> 00:01:24,570
Więc dla var I zamiast od zera mamy zamiar uruchomić go na końcu tablicy.

22
00:01:24,630 --> 00:01:34,550
Więc var równa tablica nie podoba minus 1 i trzeba dodać, że minus 1, ponieważ długość jest zawsze większy od największego indeksu.

23
00:01:34,740 --> 00:01:36,730
Więc to rozstawione nieco.

24
00:01:36,750 --> 00:01:38,590
Dalej będziemy iść dalej.

25
00:01:38,670 --> 00:01:42,480
Podczas gdy jest większa niż zero.

26
00:01:42,510 --> 00:01:47,400
A potem wreszcie jedziemy do minus minus.

27
00:01:47,640 --> 00:01:49,470
Więc zacznę się.

28
00:01:49,740 --> 00:02:21,160
W przypadku drukowania odwrocie tej tablicy 3 6 do 5 zacznę w tym indeksie, które byłyby trzy, a my wydrukować tablicy dziennika gdybym tak, że będzie wydrukować 5, a następnie odjąć 1 z I i wydrukować tablica z i daje nam 2, a następnie 6 i następnie 3 i ostatni raz przez jest równa zeru.

29
00:02:21,300 --> 00:02:23,460
Więc wydrukować trzy, a potem skończymy.

30
00:02:23,700 --> 00:02:25,120
Więc rzućmy okiem.

31
00:02:25,170 --> 00:02:28,070
Mam zamiar nazwać druku odnosi z tej tablicy.

32
00:02:28,080 --> 00:02:36,070
Uruchom go w przeglądarce i widać mamy 5 do 6 i 3, które to, czego oczekiwaliśmy.

33
00:02:36,150 --> 00:02:38,580
Pięć do sześciu i trzech.

34
00:02:38,790 --> 00:02:40,880
Przejdźmy do następnego problemu.

35
00:02:41,460 --> 00:02:47,160
Więc następnym problemem jest to jednolita, która pobiera tablicę jako argument ponownie i zwraca true.

36
00:02:47,190 --> 00:02:49,890
Dopiero wtedy, gdy wszystkie elementy są identyczne.

37
00:02:50,430 --> 00:02:59,930
Więc mam zamiar zacząć po prostu pisanie wiadomości, że jest to miejsce gdzie jest jednolita, ponieważ uruchamia ten plik będzie dość pełny pod koniec tego.

38
00:03:00,150 --> 00:03:01,700
Więc po prostu chcemy, aby było jasne.

39
00:03:02,220 --> 00:03:08,940
Więc zacznijmy od zdefiniowania naszej funkcji jest jednorodny i zajmie jedną tablicę.

40
00:03:09,510 --> 00:03:15,120
Więc sposób, że mam zamiar rozwiązać ten problem mam zamiar zrobić to zmienna równa pierwszej pozycji.

41
00:03:15,660 --> 00:03:28,990
Więc w tym przypadku 1, a potem idę do pętli tablicy i porównać ten pierwszy element każdej innej pozycji i jeśli w żadnym punkcie nie są one takie same, a następnie jedziemy do return false i po prostu zakończyć całą funkcję ,

42
00:03:29,280 --> 00:03:33,060
Ale jeśli uda nam się go do końca oznacza to, że każdy przedmiot jest taki sam.

43
00:03:33,060 --> 00:03:34,530
Tak więc możemy wrócić prawdziwe.

44
00:03:35,010 --> 00:03:41,890
Więc mam zamiar zacząć od mojego pierwszego zmiennej var Pierwszym z nich jest równa pierwszej pozycji.

45
00:03:43,080 --> 00:03:45,340
Potem idę do pętli tablicy.

46
00:03:45,660 --> 00:03:51,390
Więc mam zamiar użyć pętli for tu i tam jest powodem nie używam foreach które wytłumaczę po tym.

47
00:03:51,390 --> 00:04:07,810
Więc mam zamiar rozpocząć przelotowego I mniej niż Array nie lubią ja plus plus i jestem po prostu sprawdzić, czy wysoka tablica nie jest równa pierwszej kolejności.

48
00:04:07,890 --> 00:04:10,410
Oznacza to, że nasza tablica nie jest jednolita.

49
00:04:10,590 --> 00:04:12,920
Więc będę return false.

50
00:04:13,860 --> 00:04:19,820
A następnie na samym końcu mojej tablicy jeśli robimy to przez cały pętli mogę wrócić prawdziwe.

51
00:04:20,790 --> 00:04:29,120
Jest jeden mały optymalizacja tutaj, które jest obecnie jestem porównując pierwsze tablice pozycja zera do pierwszego elementu.

52
00:04:29,280 --> 00:04:30,680
Przy pierwszym przejściu pętli.

53
00:04:30,690 --> 00:04:35,710
Jeśli zacznę mówi 0 i sprawdziany usunąć wiersz równą pierwszej kolejności.

54
00:04:35,790 --> 00:04:36,900
Więc nie chcę tego robić.

55
00:04:36,960 --> 00:04:39,090
Ja tylko zaczną go w indeksie 1.

56
00:04:39,660 --> 00:04:41,280
Sprawdźmy to.

57
00:04:41,280 --> 00:04:49,310
Odśwież Strona jest jednolita tablicy 1 1 1.

58
00:04:49,500 --> 00:04:50,600
To prawda.

59
00:04:50,790 --> 00:04:52,360
Ale jak o 1 1 2.

60
00:04:52,620 --> 00:04:55,540
To fałszywe i dwa poszedł.

61
00:04:55,620 --> 00:04:57,250
To też fałszywe.

62
00:04:57,780 --> 00:04:58,290
OK.

63
00:04:58,290 --> 00:05:01,380
Więc mówiłem, że nie chcę, aby użyć dla każdego.

64
00:05:01,470 --> 00:05:29,350
A powodem jest to, że gdybym napisał foreach skomentować to uwagę i zamiast pętli for tutaj, jeśli zrobiłem czerwony punkt dla każdej funkcji i wzywam go elementu i mam zamiar sprawdzić, czy element nie jest równa pierwszej wrócę fałszywe.

65
00:05:29,380 --> 00:05:34,840
To jest dokładnie ta sama logika wyjątkiem dodaliśmy w foreach zamiast pętli for.

66
00:05:35,120 --> 00:05:43,860
Mamy problem, a problem jest to, że kiedy wrócę tu tylko fałszywe powroty z pierwszej funkcji, która jest tutaj.

67
00:05:44,080 --> 00:05:55,040
Więc nie ma wyjścia wszystkich jego mundurze po prostu wyjścia z pierwszej funkcji, które następnie prowadzi nas do tego poziomu, a potem po prostu uruchamia kolejną linię, która jest zwracana prawda.

68
00:05:55,900 --> 00:06:03,400
Tak więc, zamiast mieć do czynienia z pracą tu jestem po prostu zamiar użyć pętli for, ponieważ jest to znacznie prostsze, ale chcę, aby zrozumieć, na czym polega problem.

69
00:06:03,440 --> 00:06:06,910
Tak więc podsumowując, że znów wrócę zamiast jednej funkcji.

70
00:06:06,940 --> 00:06:16,760
Jej tylko jedna warstwa skórki z powrotem, więc zwraca tylko, że dokładna funkcji, a następnie kolejna funkcja, która jest w jej wnętrzu wciąż zakończeniu jego realizacji.

71
00:06:16,750 --> 00:06:22,460
Więc przyjdę z tym jeden i niech po prostu opuścić ten jeden jako naszego prawdziwego rozwiązania.

72
00:06:23,950 --> 00:06:26,220
Następna w kolejce mamy jakąś tablicę.

73
00:06:26,620 --> 00:06:31,420
Tak więc niektóre tablica zajmuje jedno pole i to podsumowuje każdy element w jej wnętrzu.

74
00:06:31,430 --> 00:06:44,280
Więc mamy zamiar zacząć mój komentarz jakąś tablicę i mam zamiar zadeklarować funkcję niektóre tablica zajmuje jedno pole.

75
00:06:44,890 --> 00:06:48,710
I w tym przypadku musimy mieć zmienną do przechowywania całości.

76
00:06:48,800 --> 00:06:52,920
A potem musimy pętli przez całą tablicę i dodać do tej kwoty.

77
00:06:52,940 --> 00:06:57,170
Więc zacznę moja zmienna całkowita jest równa zeru.

78
00:06:57,880 --> 00:06:59,850
A potem mam zamiar to zrobić dla siebie.

79
00:07:00,310 --> 00:07:02,480
Więc tablica dla każdego.

80
00:07:02,500 --> 00:07:15,010
A może po prostu zrobić regularne pętli, a ja po prostu się nazwać ten element, a ja po prostu się dodać do całości za każdym razem.

81
00:07:15,010 --> 00:07:18,300
Zatem łączna Plus równa elementy.

82
00:07:19,340 --> 00:07:23,340
A potem koniec powrócić całkowite i to wszystko, co mam robić.

83
00:07:23,380 --> 00:07:30,960
Więc zacznij całkowitego zera pętlę przez tablicę wziąć każdy element i dodawane do całkowitej i następnie powrót sumie na końcu.

84
00:07:31,390 --> 00:07:33,750
Sprawdźmy to.

85
00:07:34,060 --> 00:07:37,640
Spróbujmy jakiejś tablicy na tablicy.

86
00:07:37,630 --> 00:07:41,500
Raz, dwa, trzy i dostać sześć.

87
00:07:41,530 --> 00:07:45,300
I jak o 10 10 10 i dostać 30.

88
00:07:45,680 --> 00:07:47,710
OK, więc to niektóre tablicą.

89
00:07:48,250 --> 00:07:53,220
Ten ostatni jest tu określenia max element tablicy liczb.

90
00:07:53,530 --> 00:07:57,430
Więc mam zamiar dodać moje komentarze w pierwszej kolejności.

91
00:07:58,180 --> 00:08:03,130
Jedziemy do pracy na Maxa tutaj i mam zamiar zdefiniować tę funkcję jako pierwszy.

92
00:08:03,160 --> 00:08:20,270
Więc funkcji Max zajmuje jedno pole ponownie i logiczne jest to, że będziemy mieć zmienną do śledzenia maksimum, a my właśnie rozpoczął jako pierwszy element domyślnie, a następnie jedziemy do pętli każdego inny element i porównać go do obecnego maksimum.

93
00:08:20,840 --> 00:08:25,390
Oraz, jeżeli w ogóle jest większy niż prąd maksymalny, a następnie ten element jest Nasze nowe maksimum.

94
00:08:25,550 --> 00:08:27,670
A potem wracamy, że na końcu.

95
00:08:27,880 --> 00:08:41,220
Więc mam zamiar rozpocząć var ​​tablica Max równa 0, a potem idę do pętli tablicy i tylko dla urozmaicenia Zamierzam użyć pętli for.

96
00:08:41,270 --> 00:08:43,950
Tak na var i jest równa zeru.

97
00:08:44,140 --> 00:08:46,060
I rzeczywiście można go uruchomić na 1.

98
00:08:46,610 --> 00:08:51,660
Ponieważ jesteśmy już przy stosunku z tego samego powodu mogą rozpocząć ten jeden na 1.

99
00:08:52,310 --> 00:08:54,940
Więc zacząłem się 1 4 jest równa zeru.

100
00:08:55,060 --> 00:08:59,080
Mam mniej niż link radaru wraz plus.

101
00:08:59,330 --> 00:09:03,260
I wszystko co chcę zrobić, to sprawdzić, czy tablica I.

102
00:09:03,250 --> 00:09:12,450
Tak więc, gdy pojedynczy element, jest większy niż maksymalny wymaxuj jest równa macierzy.

103
00:09:13,510 --> 00:09:20,030
Więc to będzie ciągle zmieniać jej wartość lub potencjalnie zmienić jego wartość, jeśli napotka nowe maksimum.

104
00:09:20,060 --> 00:09:25,110
Więc w tym ćwiczeniu tutaj jeden dwa trzy na samym początku.

105
00:09:25,220 --> 00:09:26,990
Jednym z nich jest maksymalna.

106
00:09:26,990 --> 00:09:29,610
A potem idziemy przez pętlę i porównać go do dwóch.

107
00:09:29,920 --> 00:09:31,120
Nimi jest większa niż jeden.

108
00:09:31,220 --> 00:09:32,760
Więc dwa to nowe maksimum.

109
00:09:33,010 --> 00:09:35,830
A potem, że powtarza trzy jest większa niż dwa.

110
00:09:35,840 --> 00:09:43,440
Więc trzy to nowa maksymalna i ostatnia linia że jesteśmy brakuje, gdy pętla jest wykonywana po prostu wrócić Max.

111
00:09:43,750 --> 00:09:45,040
A co powinno być dobrze iść.

112
00:09:45,430 --> 00:09:54,550
Więc spróbujmy się odświeżenia i spróbujmy działa max 1 2 3 i mamy trzy.

113
00:09:54,620 --> 00:09:59,840
Teraz spróbujmy dodając 20 w środku i otrzymujemy 20.

114
00:10:00,290 --> 00:10:03,790
I wreszcie zagrajmy z liczby ujemnej i upewnić się, że działa.

115
00:10:03,800 --> 00:10:05,160
A my wciąż 20.

116
00:10:05,480 --> 00:10:06,010
OK.

117
00:10:06,110 --> 00:10:08,290
Tak więc mamy tu cztery rozwiązania.

118
00:10:08,380 --> 00:10:11,890
Wszystkie z nich konieczne użycie pętli użyta dla wszystkich, a niektóre z nich.

119
00:10:11,890 --> 00:10:14,550
Użyliśmy pętli, a niektóre z nich, a wszystkie z nich.

120
00:10:14,570 --> 00:10:16,410
Ćwiczymy wyścig.

121
00:10:16,550 --> 00:10:17,050
Niesamowite.
