package Ġlesson 3 Ċ Ċ /* Ċ * ĠFind Ġthe Ġelement Ġthat Ġis Ġmissing Ġfrom Ġthe Ġarray Ċ * Ġ*/ Ċ Ċ class ĠP erm Missing Elem Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsolution ( int ArrayOf ( 1 , Ġ 2 , Ġ 3 , Ġ 5 , Ġ 4 , Ġ 7 , Ġ 8 , Ġ 6 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" result Ġ: Ġ Ġ$ result ") ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġsolution ( A : ĠInt Array ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġhash Set Of < Int >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( A . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠA . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset . add ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġ.. ĠA . size + 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif (! set . contains ( i )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }