From f64235df1d0bfc94d0ebfd3cbb9bb120b5c25aaf Mon Sep 17 00:00:00 2001 From: jamaal51 Date: Fri, 15 Jan 2016 16:05:12 -0500 Subject: [PATCH 01/11] hw big o --- .DS_Store | Bin 0 -> 10244 bytes .../Contents.swift | 59 +++++++++++++++++- 2 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4db4c4425358d739c6761c9ef541aced60e03e71 GIT binary patch literal 10244 zcmeHN&2AGh5dN0rPzi)MbD(>uPynTBTK-R~upmHG6+{AV1QME7YDn59ATB6xz%%e5 zD9-?o!I=l(8{0%)Hm!m-UO0>+`%7%k%=)v}-kA-6s5$O7fEd6Ev*3kuEaoI>mz+yy zT+KydM0sF&w5HkxV z4ks4P*1^KK0K_V*P2zX@0Y)Zvm^hqRG@{gLy@$w&M$W~EtT@|a=}t@>PApn+L{=P; zvm7}OB{J427n|;g5{p_Y1Ij?20rB0}@DMMsi=&MHUZ*F26E(E(0sCwn;St`klwMb` zjv)^48XwU!HDk7Q4|8{%#OM(8aIoLnk()YZ^+UvI=F=` zyk&WVzv{S6-nQ_VtMxFu0#`4WW!Go0BKK5Dg59jR*_rBK0O5&mR(wuerJn zK}l>+98N46an>7gqK)PUe;MG#EKi9md49O}>^)Wg-~G$$ucDTx@T~s7i Date: Fri, 15 Jan 2016 16:22:43 -0500 Subject: [PATCH 02/11] hw swift --- .DS_Store | Bin 10244 -> 10244 bytes .../Contents.swift | 38 ++++++++++++++++-- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/.DS_Store b/.DS_Store index 4db4c4425358d739c6761c9ef541aced60e03e71..dfdbcf6a306c801bf74db1b082d448c4a0d4953d 100644 GIT binary patch delta 111 zcmZn(XbG6$&nUSuU^hRjBm)D3>SO@{ Bool{ + let set = Set(arr) + + if set.count == arr.count{ + return false //no duplicates + } else{ + return true //there are duplicates + } +} -2) 3) + func smallestValue(arr1:[Int], arr2:[Int2]){ + var smallestNum = 0; + for i in 0..arr1.count{ + if i + } + +} + +4)func isPalindrome(word: String) -> Bool { + + let wordLength = word.characters.count + + for i in 0...wordLength/2{ + if(Array(word.characters)[i] != Array(word.characters)[wordLength - i - 1]){ + return false + } + } + return true + } -4) */ From 96248d0e80fecfdae3516fc274ecd57ad9ec6eb6 Mon Sep 17 00:00:00 2001 From: jamaal51 Date: Sat, 16 Jan 2016 09:14:19 -0500 Subject: [PATCH 03/11] hw discrete --- .DS_Store | Bin 10244 -> 10244 bytes .../Contents.swift | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/.DS_Store b/.DS_Store index dfdbcf6a306c801bf74db1b082d448c4a0d4953d..8dc9a8b26f6f14577d8943c636fef8f1392b8b18 100644 GIT binary patch delta 57 zcmZn(XbG6$&nUhzU^hRb_+}n~=^TuDlN%&mCp!zMvdPCVFfhQl;*%#x2yZNHVcX2E H@RuC`-{26H delta 86 zcmZn(XbG6$&nUSuU^hRb|o3F{ZX diff --git a/HWfrom1-14-16(Logic+Discrete_Math).playground/Contents.swift b/HWfrom1-14-16(Logic+Discrete_Math).playground/Contents.swift index bc0df91..c3c0499 100644 --- a/HWfrom1-14-16(Logic+Discrete_Math).playground/Contents.swift +++ b/HWfrom1-14-16(Logic+Discrete_Math).playground/Contents.swift @@ -11,12 +11,29 @@ Question 1: https://www.hackerrank.com/challenges/minimum-draws Copy and paste your code: +var socksPulledOut = [] + +for sock in socksPulledOut { + if sock == sock.last { + return true + } else { + return false +} + What is the big O runtime of your code?: Question 2: https://www.hackerrank.com/challenges/handshake Copy and paste your code: +var N = [] +var handshakes = 0 + +for boardmember in 0..boardmembers { + +} + + What is the big O runtime of your code?: Question 3: https://www.hackerrank.com/challenges/connecting-towns From e0c535a217e4d9f92aee0da58c51ffc9f9d6b997 Mon Sep 17 00:00:00 2001 From: jamaal51 Date: Thu, 21 Jan 2016 14:13:02 -0500 Subject: [PATCH 04/11] update --- .DS_Store | Bin 10244 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.DS_Store b/.DS_Store index 8dc9a8b26f6f14577d8943c636fef8f1392b8b18..8c9b75d4c78532029e5664c51cff844cbd78f4a9 100644 GIT binary patch delta 130 zcmZn(XfcprU|?W$DortDU=RQ@Ie-{MGjdEU6q~50D9QxlfW`6|av2O6bb;7lV&U@1 z1}ZF!@{Y1T|gkf4J2Garfn?z&ODi4#d5Nb PiZm<8PKM3#Jad=rNO$!uyT7?Ax0#y(RI3N+o(zH@T(l!BcLHh@M z5#k%*GdOeN#2ed08+Ka-CA;M?j_kLwJs!`qW$(-aFs*Ui1Ofod%z|gnu*gZ$E;*A< z`I>V?LwR6;KANaw6}L0JwL%$C29yD1Kp9X5{s#tlXG>Z>?NCc)Kp9X5CJe~=5HJgd z9utT5=wM-80AhvJHu0H$fRzb6h8`1#R+M8p@4B-+j4Q+hDE?Y-&9%2_j=8CchDa?MHhZ8cJ%%risJF83w;0bW6SDT;N1IzxWLheJ85P* zGWlwT_a-AJ5Xwx>j*uXm8vb@26b=;zr z>v+gLwm-dVs+Va=DSA`;>Fd&YS(38!PIg+UdP`m37 zi=S!B++(Kp|DXGE0b@?iu7!=6!)GIh&+EK3+|Bri?;t&%EL~hfL_Flv0q>R(^D8{& zTgeDJv%aNNUy|!W_2t+{m70_RWk4BF29$vlVPMH=4J7`5_vr8cCo(rxsthOt zQ9BZ6(Z|*^S|!#VFn5?GNx#IQ6=7k+@kASr=N}2j*O;a6s-Pr3haMA$tYIqsV?a9A k`A;#oW8zur|NE$KN0zj>_+82mSO4F~hmVLU9OwW42Fm&`>Hq)$ From 09c51d1635a85c4492eccb5992133d33fb2ce041 Mon Sep 17 00:00:00 2001 From: jamaal51 Date: Thu, 21 Jan 2016 18:23:54 -0500 Subject: [PATCH 05/11] update HW --- .DS_Store | Bin 12292 -> 14340 bytes .../Contents.swift | 20 +++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.DS_Store b/.DS_Store index b08ebd9439d68320d77629d39151f3ab85c6e89c..18b8ee0f563009252e4bacc80487299ac0649d52 100644 GIT binary patch delta 452 zcmZokXem%&U|?W$DortDU@!nOIe-{M3-ADmb_NCoo{0+j+}1!2Gf5DO4%PA(7$np`6+$eYVx$e;_4w3{`MCu^bAUi$HAs;Zl6-Eyi%UvrNiqY&rQ;$?7$)Iq0{AOl^gbz@j zP3acUj}YzxA#Ud5Vhe$RG?ht`73_Hi18yMgiX8Gl>G#Z&`E?8#87ABCNb@j3qQ?TH NeshLSCNt1BV*r9RWqAMq delta 235 zcmZoEXh~3DU|?W$DortDV9)?EIe-{M3-ADifgApdbT7+QcZ`$qI}O zlMPH*SQ&xBER!#&S59_R)Si4ti+l2Z1-H#Yj7)5s**RD^7-fNS8Jjm~{AQlqE}FNw zR-l4)vaKZdW&?@sjGMcqzc4cjPgYR$nfySSZ*!VLHv42pK@({P23DZ4K%l`5BwUf5 qvRRPvJ@aIK6GIJ<%?&^d0zftslxBg_AYXvQ4K`<(WHJMdH3k4)*ecNg diff --git a/HWFrom1-17-16(Lists and Sorts).playground/Contents.swift b/HWFrom1-17-16(Lists and Sorts).playground/Contents.swift index db926cd..844d427 100644 --- a/HWFrom1-17-16(Lists and Sorts).playground/Contents.swift +++ b/HWFrom1-17-16(Lists and Sorts).playground/Contents.swift @@ -13,29 +13,43 @@ var str = "Hello, playground" //1) -func getValidNumbers(sudokuBoard:[[Int?]], row:Int, col:Int)->[Int]{ +func getValidNumbers(sudokuBoard:[[Int]], row:Int, col:Int)->[Int]{ var arrayNums: [Int] = [] var value: Int // var x = row // var y = col for row in 0...8{ + if (row != 0){ var x = row value = [x][col] x++ arrayNums.append(value) + } } for col in 0...8{ + if (col != 0){ var y = col value = [row][y] y++ arrayNums.append(value) + } } return arrayNums } - - +let sudokuBoard: [[Int]] = [[5,0,8,0,7,3,1,9,0], + [9,0,0,6,0,0,4,0,8], + [0,0,0,9,0,8,0,3,5], + [0,7,0,0,0,0,0,6,0], + [0,0,2,0,0,0,9,0,0], + [0,1,0,0,0,0,0,8,0], + [1,9,0,3,0,6,0,0,0], + [2,0,3,0,0,7,0,0,9], + [0,8,7,1,9,0,3,0,4] + ] + +getValidNumbers(sudokuBoard, row: 4, col: 4) //2) From 3d354b59fb37193bb994e6629aef866f006201d4 Mon Sep 17 00:00:00 2001 From: jamaal51 Date: Thu, 28 Jan 2016 16:13:24 -0500 Subject: [PATCH 06/11] hw update --- .DS_Store | Bin 14340 -> 14340 bytes .../Contents.swift | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.DS_Store b/.DS_Store index 18b8ee0f563009252e4bacc80487299ac0649d52..fd288620f765412829a4d20fbadfa6c8022c4de5 100644 GIT binary patch delta 31 ncmZoEXerphqsyc`Z{mco$#=B4nNNuS+APR8m1#4(!C!U&!%+*? delta 31 ncmZoEXerphqsydpYvP2k$#=B4nU9Mt+$_jAm1#4(!C!U&#C8j| diff --git a/HWFrom1-17-16(Lists and Sorts).playground/Contents.swift b/HWFrom1-17-16(Lists and Sorts).playground/Contents.swift index 844d427..d3cd51a 100644 --- a/HWFrom1-17-16(Lists and Sorts).playground/Contents.swift +++ b/HWFrom1-17-16(Lists and Sorts).playground/Contents.swift @@ -22,7 +22,7 @@ func getValidNumbers(sudokuBoard:[[Int]], row:Int, col:Int)->[Int]{ for row in 0...8{ if (row != 0){ var x = row - value = [x][col] + value = sudokuBoard[x][col] x++ arrayNums.append(value) } @@ -30,7 +30,7 @@ func getValidNumbers(sudokuBoard:[[Int]], row:Int, col:Int)->[Int]{ for col in 0...8{ if (col != 0){ var y = col - value = [row][y] + value = sudokuBoard[row][y] y++ arrayNums.append(value) } From 1b12473aa29e5377fa0ab4ee43492fe04e1d40c3 Mon Sep 17 00:00:00 2001 From: jamaal51 Date: Fri, 29 Jan 2016 21:20:10 -0500 Subject: [PATCH 07/11] hw mergesort update --- .DS_Store | Bin 14340 -> 16388 bytes .../Contents.swift | 65 ++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/.DS_Store b/.DS_Store index fe07c8ec1bd2421609d65b20a28301c78fa221b1..1503fbe999824c14d62fca7947bc60560eeed4ce 100644 GIT binary patch literal 16388 zcmeHO&2Jk;6n~orS_DE!je0=B-hQFBC?R$WbqfcRx-FnY5wR!~@eyjrNg%G>#0eh~ zVDS&Y0dYq{;s6&~t`N956{iFVajYtFz?FJK95^6;Gqc&gu_u+OXJ;$2EA5UwyYt?g z-|x-Go1G;hZ)~}oA<7ZaE}SBL=mDaE`-ps`qxT~tIK+K%b{#vA=OD@xouNgl zQI#?@-1T&lakn8b0E5H{?&xWH7CdtPGISg)X6Q*eMB_A1OVq&W)0=dW%1Db~dQs*b zrV*;s0`9y=v(f{W|$fR%1N#X0to`! z9s$um_&7zH57MSeW!Hg=m_Ca8VhSk_{6-ug^ZX#q2WeBKvM9>PqDWOyF9BhkaKZC%?Vv5iPid6UCP^%(fs zFZrpkHK#0A88+7}rm)^nqGjA&!spN6rCbi_$rN-~1!_vnu@-H}<6)aF-QGE+GO3@k`A@c^oxLC&Jltk={Z4 zRKc6x=g_M(WVF@O?0MgkP1(#3S9gCW?YCw(o3~k)ZSXC1Z> zIa8mYE`7^n{=Ye*S&$j_UDjk8@EkUbJIBH~;5gRLXVJ5i=rQb)6MF$m@Q4}oH#77G zO}F%EvD&!8(}Z6P}jv>A9CvBFzVZ6y6Fu#8lnp?-&D{m#g! zL+vZ>dta*Fi|zdxwTeIs^TYKMo^Zn`v=|U``vx_O`SL610qS&7$2Gl*8pmb}L%((N z2Z?@cwiq~)2Hh2x2c5IT_I`7g+Sg-XNwX#F$y@D@;by06yn4xJ_@OH&T-T0 z&i#ei!u{pu2QhHOY>Azt0-eR|D@W(4s`tG9*UmX&wlI#?hSX}iTi?}e3ETAA(5Er@ z3$rD5e>p3^!vf(9{?odzxWO}8UH)KMc$_4|G%~jxsU(= delta 242 zcmZo^U~DN+VPIfjbSh0TWMD7=GC6=4L<{f$iFO7C1rW_JQAL~85lAyn3^AT;V8g=7 z2;{I#=F<(Eq$S9k%V5Z$3)E!^Bn>wUa)_~PR$zI{w3(fQg@aLkvH(-zW^X++#>sbe z^Cs6Ca8K@G5}qu~RJpmsK$m^;ZQX*&wF2CeWtasgFJ!9T+#%q}GO_d;qvB)*MW4xh z!hD<46!>^I3kV-%oLG8Ek`?3}pcA=)ge$T$Hw&`7XP(S&W5~!b*@j1&g9+jni^&N# PQztj7 Date: Thu, 4 Feb 2016 15:25:18 -0500 Subject: [PATCH 08/11] update hw --- .DS_Store | Bin 16388 -> 10244 bytes .../Contents.swift | 72 +++++++++--------- .../Contents.swift | 18 ++++- 3 files changed, 51 insertions(+), 39 deletions(-) diff --git a/.DS_Store b/.DS_Store index 1503fbe999824c14d62fca7947bc60560eeed4ce..c582f17012d07573e6efb79c971f731423eda41e 100644 GIT binary patch literal 10244 zcmeI1O=}ZD7{~t`3l8m? z-$C%GUOlOxpU3|*vt4G{Ev#lY6fy&|&t_)ld1ijkya#}@J!yG>3t*X13UrAX09D2fq#wwsmZ~Uq>eGW06m^0lhNFu!-<8iP{XkB& z)WzZG;&1}XPH;kTly#PK)#q@0E$!11ums`+icGqJ9X!V?3?t|F3QzKPP(mGVamd^; zp5P6i^3@t{VSppN#5;6U%7l5XqmEZ^_Im?urZ~z{cduWowI<^x@axN!Ps&1O_3rgs zx#=EsO(qSg`1KfXk2fZAYodv7lXnOE=_ud)IlD%a?WGS=#aZiU63s?q0>?@M$4zq7 z6nEKAJ0#ge88ylg--c+j2e__^g#Ur!pONMS8g8tYRx{NtE#7)%HAiR__rjjA$DT0c+}buqW~#ohDsx+Ax(yb8K6e$140VTNFmv5e z-VLd^7wc;qYDb_~vZow%vW~qD=fN^|)ruywWEqm*R&m5J`996w?Aq1&ST%g~d+V_@ zbslXsb{})Jn&8)Rf?wtTv6G#(>_*IWZig%0h`SQmoecPvYE%_u51*5z1pnn`DI9Sp zKFi5c)K9+jNgFJI#UpS|H`$f@|A(jl|G#)(Y>O>{1tQ=q)#|lvHrP3((FLZvj15K! z^4(NRRfG@uMAFrDJb%b_d?`p<7b$`Hejuk>s^Uyn#VPe|e(rw;l#KoJKio1HyP+IU t=Em+dM=Q}?P($32(OEir3%qiio#qJt1F3RWbxxo$^SL_8;jEqi{{m%({ObS! literal 16388 zcmeHO&2Jk;6n~orS_DE!je0=B-hQFBC?R$WbqfcRx-FnY5wR!~@eyjrNg%G>#0eh~ zVDS&Y0dYq{;s6&~t`N956{iFVajYtFz?FJK95^6;Gqc&gu_u+OXJ;$2EA5UwyYt?g z-|x-Go1G;hZ)~}oA<7ZaE}SBL=mDaE`-ps`qxT~tIK+K%b{#vA=OD@xouNgl zQI#?@-1T&lakn8b0E5H{?&xWH7CdtPGISg)X6Q*eMB_A1OVq&W)0=dW%1Db~dQs*b zrV*;s0`9y=v(f{W|$fR%1N#X0to`! z9s$um_&7zH57MSeW!Hg=m_Ca8VhSk_{6-ug^ZX#q2WeBKvM9>PqDWOyF9BhkaKZC%?Vv5iPid6UCP^%(fs zFZrpkHK#0A88+7}rm)^nqGjA&!spN6rCbi_$rN-~1!_vnu@-H}<6)aF-QGE+GO3@k`A@c^oxLC&Jltk={Z4 zRKc6x=g_M(WVF@O?0MgkP1(#3S9gCW?YCw(o3~k)ZSXC1Z> zIa8mYE`7^n{=Ye*S&$j_UDjk8@EkUbJIBH~;5gRLXVJ5i=rQb)6MF$m@Q4}oH#77G zO}F%EvD&!8(}Z6P}jv>A9CvBFzVZ6y6Fu#8lnp?-&D{m#g! zL+vZ>dta*Fi|zdxwTeIs^TYKMo^Zn`v=|U``vx_O`SL610qS&7$2Gl*8pmb}L%((N z2Z?@cwiq~)2Hh2x2c5IT_I`7g+Sg-XNwX#F$y@D@;by06yn4xJ_@OH&T-T0 z&i#ei!u{pu2QhHOY>Azt0-eR|D@W(4s`tG9*UmX&wlI#?hSX}iTi?}e3ETAA(5Er@ z3$rD5e>p3^!vf(9{?odzxWO}8UH)KMc$_4|G%~jxsU(= diff --git a/HWFrom1-28-16(Merge Sort).playground/Contents.swift b/HWFrom1-28-16(Merge Sort).playground/Contents.swift index 246ef14..d79e188 100644 --- a/HWFrom1-28-16(Merge Sort).playground/Contents.swift +++ b/HWFrom1-28-16(Merge Sort).playground/Contents.swift @@ -27,43 +27,45 @@ selectionSort(&array(arrayNums)) -func printAllElements(values: [Int]) { //takes the array and just prints each element - for value in values { - print(value) - } -} - -func printAllElementsRecursive(values: [Int]) { // - printElementsHelper(values, index: 0) -} - -func printElementsHelper(values: [Int], index: Int) { - if index < values.count { - print(values[index]) - printElementsHelper(values, index: index + 1) - } -} - -func setValue(inout array: [Int], value: Int, atIndex index: Int) { - array[index] = value -} - -var values = [10, 20, 30] -printAllElements(values) -setValue(&values, value: 100, atIndex: 1) -values -func reverse(inout array: [Int]) { - for i in 0.. Bool { + + +} -//6) \ No newline at end of file From a58495da141c1236d4e66d333a4c889c443a61cf Mon Sep 17 00:00:00 2001 From: jamaal51 Date: Thu, 11 Feb 2016 11:47:05 -0500 Subject: [PATCH 09/11] update --- .DS_Store | Bin 10244 -> 10244 bytes .../Contents.swift | 41 ++++++++++++++++-- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/.DS_Store b/.DS_Store index c582f17012d07573e6efb79c971f731423eda41e..6012e59b4bbc1632c2d77538afb27112958e70df 100644 GIT binary patch delta 519 zcmZn(XbIRbQIgSla-Ed-WKkJWD+WD=VumCJU4~Q!3x-676d*JJvMhiiRY0~8Lm@*M zLuO98VQ_MOZUF-r$Vme!QjN&XcX3H6ElFlzxOCOp9c&KiMx;<`L_r3!M-o8Ju$ycr z6NWDwEEyshvVh@`$Pk7a4opfUYR3`=q}ZODkKuo?b~QYah~)Uq|70FAZe~~b%MJiF C`Dn=i delta 158 zcmZn(XbIRbQIgSca)PusW8LHcaTPW>X$A%cn7{@JMb4|%?m!V_F^NecoEX9Z;$oBQ zB!wBZC;yTTo4ikukBvzQs0+ds5aNbwfQksBi||SCZ8nj+%($^ZgK;yv!e4d(!PY5; diff --git a/HWFrom1-31-16(Sets and HashMaps).playground/Contents.swift b/HWFrom1-31-16(Sets and HashMaps).playground/Contents.swift index c5841b0..299cc87 100644 --- a/HWFrom1-31-16(Sets and HashMaps).playground/Contents.swift +++ b/HWFrom1-31-16(Sets and HashMaps).playground/Contents.swift @@ -1,3 +1,5 @@ +import UIKit + //: https://docs.google.com/document/d/1T7tYRqpDPWoxarfmXqfRCHB-YqvA8-Qx_mEyy5smtfc @@ -14,7 +16,38 @@ //2) - - - -//3) \ No newline at end of file +let blacklist: Set = ["crapple", "fandroid", "m$"] + +func moderate(message: String)->Bool { + let words = (message as NSString).componentsSeparatedByString(" ") + + for word in words { + if blacklist.contains(word.lowercaseString){ + return false + } + } + return true +} + +moderate("I love apple") + + + +//3) +[(“Caleb”, “501-555-1234”), (“Mike”, “212-555-4321”), (“Jenny”, “345-867-5309”)] + +class PhoneBook { + // var storge = Dictionary() + var storage: [String : String] = [:] + + func addPerson(name: String, phoneNumber: String){ + storage[name]=phoneNumber + } +} + +protocol PhoneBookProtocol { + mutating func addPerson(name: String, phoneNumber: String) + mutating func removePerson(name: String) + mutating func importFrom(oldPhonebook: [(String, String)]) + func findPerson(name: String) -> String // Return phone # +} From e79a232df58326808d13bf1dbdf9649efad320fe Mon Sep 17 00:00:00 2001 From: jamaal51 Date: Thu, 11 Feb 2016 12:08:39 -0500 Subject: [PATCH 10/11] trees hw --- .DS_Store | Bin 10244 -> 10244 bytes .../Contents.swift | 60 +++++++++++++++++- 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/.DS_Store b/.DS_Store index 6012e59b4bbc1632c2d77538afb27112958e70df..4d75ea1f7759e1213abe1dfc4771e76e427bcabb 100644 GIT binary patch delta 520 zcmZn(XbG6$XEU^hRb=41sypUL|K`8KBsXmc_eOiqwa0CCxrzB4c|K)3=z+?+R) zCIk6!5kYj3I!R$h?a9BS!yuY@fJz};u;#g8V9ihwkY*GSpytW-f^4#G3`Gq247m(O z47v;k45mQRkim>WgCPVco;tZeN(N-OhO!XQFnIG*2V delta 537 zcmZn(XbG6$I9U^hRb(qsiepUDn#e4En*v^g1_C%= { + let value: T + var left: Node? + var right: Node? + init(value: T) { + self.value = value + } +} + +extension Node: CustomStringConvertible { + var description: String { + return "\(value)" + } + var postorderDescription: String { + let lt = left?.postorderDescription ?? "" + let rt = right?.postorderDescription ?? "" + return lt + rt + description + } +} + +extension Node { + func printInOrder(){ + left?.printInOrder() + print(self) + right?.printInOrder() + } +} + +func parseExpression(input: String) -> [Node?] { + + let operators: Set = ["+", "-", "*", "/"] + var stack: [Node] = [] + for character in input.characters { + + let node = Node (value: character) + + if !operators.contains(character){ + stack.append(node) + } else { + node.right = stack.removeLast() + node.left = stack.removeLast() + stack.append(node) + } + + } + stack.first?.printInOrder() + return stack +} + +//check +let input = "ab+cde+**" + +parseExpression(input) + + //Bonus1 -//Bonus2 \ No newline at end of file +//Bonus2 From 236ee09d6bd9d894c32f35228863dc146a9a954a Mon Sep 17 00:00:00 2001 From: jamaal51 Date: Thu, 11 Feb 2016 14:58:32 -0500 Subject: [PATCH 11/11] edit tree hw --- .DS_Store | Bin 10244 -> 10244 bytes .../Contents.swift | 23 +++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.DS_Store b/.DS_Store index 4d75ea1f7759e1213abe1dfc4771e76e427bcabb..664c5e74303b27744dba9228b8790868862ceb42 100644 GIT binary patch delta 43 ucmZn(XbIR5Cd;PsfPsNQev+K# { self.value = value } } - extension Node: CustomStringConvertible { var description: String { return "\(value)" @@ -30,28 +29,43 @@ extension Node { right?.printInOrder() } } +extension Node { + func pop(var stack:[Node]){ + stack.removeFirst() + } +} +extension Node { + func push(var stack:[Node], element:Node){ + stack.insert(element, atIndex: 0) + } +} func parseExpression(input: String) -> [Node?] { let operators: Set = ["+", "-", "*", "/"] var stack: [Node] = [] + for character in input.characters { - let node = Node (value: character) + let node = Node (value: character) + if stack.isEmpty{ + stack.first?.push(stack, element: node) + } else { if !operators.contains(character){ stack.append(node) } else { - node.right = stack.removeLast() - node.left = stack.removeLast() + stack.first?.pop(stack) stack.append(node) } + } } stack.first?.printInOrder() return stack } + //check let input = "ab+cde+**" @@ -60,6 +74,7 @@ parseExpression(input) + //Bonus1