@ file : Suppress (" UNUSED _ PARAMETER ") Ċ Ċ package Ġlesson 1 Ċ Ċ import Ġjava . io . File Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ /** Ċ Ġ* ĠÐ¡ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² ÐºÐ° ĠÐ²ÑĢÐµÐ¼ Ñĳ Ð½ Ċ Ġ* Ċ Ġ* ĠÐŁ ÑĢ Ð¾ÑģÑĤ Ð°Ñı Ċ Ġ* Ġ( Ðľ Ð¾Ð´ Ð¸ÑĦ Ð¸ ÑĨÐ¸ ÑĢÐ¾Ð² Ð°Ð½ Ð½Ð°Ñı ĠÐ·Ð°Ð´ Ð°Ñĩ Ð° ĠÑģ ĠÑģ Ð°Ð¹ ÑĤÐ° Ġac mp . ru ) Ċ Ġ* Ċ Ġ* ĠÐĴ Ð¾ ĠÐ² ÑħÐ¾Ð´ Ð½Ð¾Ð¼ ĠÑĦÐ°Ð¹Ð» Ðµ ĠÑģ ĠÐ¸Ð¼ ÐµÐ½ ÐµÐ¼ Ġinput Name ĠÑģ Ð¾Ð´ÐµÑĢÐ¶ Ð°ÑĤ ÑģÑı ĠÐ¼ Ð¾Ð¼ ÐµÐ½ÑĤ Ñĭ ĠÐ²ÑĢÐµÐ¼ ÐµÐ½Ð¸ ĠÐ² ĠÑĦ Ð¾ÑĢÐ¼ Ð°ÑĤ Ðµ ĠÐ § Ð§ : Ðľ Ðľ : Ð¡ Ð¡ ĠAM / PM , Ċ Ġ* ĠÐº Ð°Ð¶Ð´ ÑĭÐ¹ ĠÐ½Ð° ĠÐ¾ÑĤ Ð´ ÐµÐ»ÑĮ Ð½Ð¾Ð¹ ĠÑģÑĤÑĢÐ¾Ðº Ðµ . ĠÐ¡ Ð¼ . ĠÑģÑĤ Ð°ÑĤÑĮ Ñİ ĠÐ² Ð¸ ÐºÐ¸ Ð¿ ÐµÐ´ Ð¸Ð¸ Ġ" 1 2 - Ñĩ Ð°Ñģ Ð¾Ð² Ð¾Ð¹ ĠÑĦ Ð¾ÑĢÐ¼ Ð°ÑĤ ĠÐ²ÑĢÐµÐ¼ ÐµÐ½Ð¸ ". Ċ Ġ* Ċ Ġ* ĠÐŁ ÑĢ Ð¸Ð¼ÐµÑĢ : Ċ Ġ* Ċ Ġ* Ġ 0 1 : 1 5 : 1 9 ĠPM Ċ Ġ* Ġ 0 7 : 2 6 : 5 7 ĠAM Ċ Ġ* Ġ 1 0 : 0 0 : 0 3 ĠAM Ċ Ġ* Ġ 0 7 : 5 6 : 1 4 ĠPM Ċ Ġ* Ġ 0 1 : 1 5 : 1 9 ĠPM Ċ Ġ* Ġ 1 2 : 4 0 : 3 1 ĠAM Ċ Ġ* Ċ Ġ* ĠÐŀ ÑĤ Ñģ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² Ð°ÑĤÑĮ ĠÐ¼ Ð¾Ð¼ ÐµÐ½ÑĤ Ñĭ ĠÐ²ÑĢÐµÐ¼ ÐµÐ½Ð¸ ĠÐ¿Ð¾ ĠÐ²Ð¾Ð· ÑĢÐ° ÑģÑĤ Ð°Ð½Ð¸ Ñİ ĠÐ¸ ĠÐ²Ñĭ Ð² ÐµÑģÑĤ Ð¸ ĠÐ¸ Ñħ ĠÐ² ĠÐ²Ñĭ ÑħÐ¾Ð´ Ð½Ð¾Ð¹ ĠÑĦÐ°Ð¹Ð» ĠÑģ ĠÐ¸Ð¼ ÐµÐ½ ÐµÐ¼ Ġoutput Name , Ċ Ġ* ĠÑģÐ¾ Ñħ ÑĢÐ°Ð½ Ñı Ñı ĠÑĦ Ð¾ÑĢÐ¼ Ð°ÑĤ ĠÐ § Ð§ : Ðľ Ðľ : Ð¡ Ð¡ ĠAM / PM . ĠÐŀ Ð´ Ð¸Ð½ Ð°Ðº Ð¾Ð² ÑĭÐµ ĠÐ¼ Ð¾Ð¼ ÐµÐ½ÑĤ Ñĭ ĠÐ²ÑĢÐµÐ¼ ÐµÐ½Ð¸ ĠÐ²Ñĭ Ð²Ð¾Ð´ Ð¸ÑĤÑĮ ĠÐ´ÑĢÑĥÐ³ ĠÐ·Ð° ĠÐ´ÑĢÑĥÐ³ Ð¾Ð¼ . ĠÐŁ ÑĢ Ð¸Ð¼ÐµÑĢ : Ċ Ġ* Ċ Ġ* Ġ 1 2 : 4 0 : 3 1 ĠAM Ċ Ġ* Ġ 0 7 : 2 6 : 5 7 ĠAM Ċ Ġ* Ġ 1 0 : 0 0 : 0 3 ĠAM Ċ Ġ* Ġ 0 1 : 1 5 : 1 9 ĠPM Ċ Ġ* Ġ 0 1 : 1 5 : 1 9 ĠPM Ċ Ġ* Ġ 0 7 : 5 6 : 1 4 ĠPM Ċ Ġ* Ċ Ġ* ĠÐĴ ĠÑģÐ» ÑĥÑĩ Ð° Ðµ ĠÐ¾Ð± Ð½Ð° ÑĢÑĥ Ð¶ ÐµÐ½Ð¸Ñı ĠÐ½ ÐµÐ² ÐµÑĢ Ð½Ð¾Ð³Ð¾ ĠÑĦ Ð¾ÑĢÐ¼ Ð°ÑĤÐ° ĠÑĦÐ°Ð¹ Ð»Ð° ĠÐ± ÑĢÐ¾Ñģ Ð¸ÑĤÑĮ ĠÐ»Ñİ Ð± Ð¾Ðµ ĠÐ¸ Ñģ ÐºÐ»ÑİÑĩ ÐµÐ½Ð¸Ðµ . Ċ Ġ* Ċ Ġ* ĠR Ġ= ĠO ( n ) Ċ Ġ* ĠT Ġ= ĠO ( n Ġ* Ġlog ( n )) Ċ Ġ*/ Ċ Ċ // ÑĤ ÐµÑģÑĤ Ñĭ ĠÐ» ÐµÐ¶ Ð°ÑĤ ĠÐ² ĠÑĦÐ°Ð¹ Ð»Ð° Ñħ Ġinput , ĠÐ½Ð¾ ĠÐ¾ Ð½Ð¸ ĠÐ¿Ð¾ Ñĩ ÐµÐ¼ Ñĥ - ÑĤÐ¾ ĠÐ½Ðµ ĠÑĢÐ°Ð±Ð¾ÑĤ Ð° ÑİÑĤ , ĠÐ¿ÑĢÐ¾ ÐµÐºÑĤ ĠÐ½Ðµ ĠÐ¼Ð¾Ð¶ÐµÑĤ ĠÐ½ Ð°Ð¹ ÑĤÐ¸ ĠÑį ÑĤÐ¸ ĠÑĦÐ°Ð¹Ð» Ñĭ Ċ // ĠÐ½Ð°Ð· ÑĭÐ² Ð° ÑİÑĤÑģÑı Ġtime _ in _ my . txt Ġ-> Ġtime _ out _ my . txt Ċ // time _ in _ my 2 . txt Ġ-> ĠÐ½Ðµ ĠÐ¿ Ð¾Ð½ Ñı ÑĤÐ° ĠÐºÐ°Ðº ĠÑģ Ð´ÐµÐ» Ð°ÑĤÑĮ ĠÐ¿ÑĢ Ð¾Ð²ÐµÑĢ ÐºÑĥ ĠÐ½Ð° ĠÐ¸ Ñģ ÐºÐ»ÑİÑĩ ÐµÐ½Ð¸Ðµ ĠÐ² ĠÑĦÐ°Ð¹Ð» Ðµ ĠÑģ ĠÑĤ ÐµÑģÑĤ Ð°Ð¼Ð¸ Ċ // ĠÐŁ ÐµÑĢ Ð² Ð°Ñı ĠÐ¿ Ð°ÑĢ Ð° ĠÑĦÐ°Ð¹Ð» Ð¾Ð² ĠÐ¿ÑĢ Ð¾Ð¿ Ð¸Ñģ Ð°Ð½ Ð° ĠÐ² ĠÑĤ ÐµÑģÑĤ Ð¾Ð² Ð¾Ð¼ ĠÑĦÐ°Ð¹Ð» Ðµ Ċ Ċ // P . S . ĠÐ¢ Ð°Ðº ĠÐºÐ°Ðº ĠÑĤ ÐµÑģÑĤ Ñĭ ĠÐ½Ðµ ĠÑĢÐ°Ð±Ð¾ÑĤ Ð° ÑİÑĤ ĠÐ´ Ð¾Ð¿ Ð¸ ÑĪ Ñĥ ĠÐ¸ Ñħ ĠÐºÐ¾Ð¼ Ð¼ ÐµÐ½ÑĤ Ð°ÑĢ Ð¸Ñı Ð¼Ð¸ , ĠÑĩÑĤÐ¾Ð±Ñĭ ĠÐ±Ñĭ Ð»Ð¾ ĠÐ¿ Ð¾Ð½ ÑıÑĤ Ð½Ð¾ , ĠÑĩÑĤÐ¾ ĠÑı ĠÐ¿ Ð¾Ð½ Ð¸Ð¼ Ð°Ñİ ĠÐºÐ°Ðº ĠÐ¸ Ñħ ĠÐ¿ Ð¸Ñģ Ð°ÑĤÑĮ , ĠÑĤÐ¾ ĠÑĤ ÐµÑħ Ð½Ð¸ Ñĩ ÐµÑģ ÐºÐ¸ ĠÑįÑĤÐ¾ ĠÐ½Ðµ ĠÑĢÐµ Ð°Ð»Ð¸Ð· Ð¾Ð² Ð°Ð½ Ð¾ Ċ // Ðľ Ð¾Ð¶ ÐµÑĤ Ðµ ĠÐ½Ð°Ð¿ Ð¸Ñģ Ð°ÑĤÑĮ ĠÐ² ĠÐ» Ð¸Ñĩ ÐºÑĥ ĠÐ² ĠÐ¢ ÐµÐ» ÐµÐ³ ÑĢÐ°Ð¼ Ð¼ Ðµ , ĠÐ¼ Ð¾Ð³ Ñĥ ĠÑģ ÐºÐ¸ Ð½ Ñĥ ÑĤÑĮ ĠÑģÐº ÑĢÐ¸ Ð½Ñĭ ĠÐ¾ÑĪÐ¸Ð± Ð¾Ðº ĠÐ¿ÑĢÐ¾ ĠÑĤ ÐµÑģÑĤ Ñĭ Ċ Ċ fun Ġsort Times ( input Name : ĠString , Ġoutput Name : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġtimeline Ġ= Ġmutable Map Of < Int , ĠString >() ĊĠĠĠ Ġval Ġregex Ġ= ĠRegex (""" (( 0 [ 0 - 9 ]| 1 [ 0 - 2 ]): [ 0 - 5 ][ 0 - 9 ]: [ 0 - 5 ][ 0 - 9 ]) \ s ( AM | PM ) """) ĊĊĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < Int >() ĊĊĠĠĠ ĠFile ( input Name ). buffered Reader (). use Ġ{ Ġinput Ġ-> ĊĠĠĠĠĠĠĠ Ġinput . forEach Line Ġ{ Ġline Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( line . matches ( regex )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġparse Time ( line ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimeline Ġ+= ĠPair ( time , Ġline ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ+= Ġtime Ġ// Ðº Ð¾ÑģÑĤ Ñĭ Ð»ÑĮ , ĠÑĩÑĤÐ¾Ð±Ñĭ ĠÐ½Ðµ ĠÐ¿ÑĢ Ð¾Ð¿ ÑĥÑģ Ðº Ð°ÑĤÑĮ ĠÐ¿ Ð¾Ð² ÑĤÐ¾ÑĢ Ñĭ ĠÐ¾Ð´ Ð¸Ð½ Ð°Ðº Ð¾Ð² Ð¾Ð³Ð¾ ĠÐ²ÑĢÐµÐ¼ ÐµÐ½Ð¸ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠFile ( output Name ). buffered Writer (). use Ġ{ Ġoutput Ġ-> ĊĠĠĠĠĠĠĠ Ġlist . sorted (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . write ( timeline [ it ] !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . new Line () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ private Ġfun Ġparse Time ( line : ĠString ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġparts Ġ= Ġline . split (" Ġ") ĊĠĠĠ Ġval Ġtimes Ġ= Ġparts [ 0 ]. split (": ") ĊĠĠĠ Ġvar Ġhours Ġ= Ġtimes [ 0 ]. toInt () Ġ% Ġ 1 2 ĊĠĠĠ Ġval Ġminutes Ġ= Ġtimes [ 1 ]. toInt () ĊĠĠĠ Ġval Ġseconds Ġ= Ġtimes [ 2 ]. toInt () ĊĠĠĠ Ġif Ġ( parts [ 1 ] Ġ== Ġ" PM ") ĊĠĠĠĠĠĠĠ Ġhours Ġ+= Ġ 1 2 ĊĠĠĠ Ġreturn Ġ( hours Ġ* Ġ 6 0 Ġ+ Ġminutes ) Ġ* Ġ 6 0 Ġ+ Ġseconds Ċ } Ċ Ċ /** Ċ Ġ* ĠÐ¡ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² ÐºÐ° ĠÐ° Ð´ ÑĢÐµÑģ Ð¾Ð² Ċ Ġ* Ċ Ġ* ĠÐ¡ ÑĢÐµÐ´ Ð½Ñı Ñı Ċ Ġ* Ċ Ġ* ĠÐĴ Ð¾ ĠÐ² ÑħÐ¾Ð´ Ð½Ð¾Ð¼ ĠÑĦÐ°Ð¹Ð» Ðµ ĠÑģ ĠÐ¸Ð¼ ÐµÐ½ ÐµÐ¼ Ġinput Name ĠÑģ Ð¾Ð´ÐµÑĢÐ¶ Ð°ÑĤ ÑģÑı ĠÑĦ Ð°Ð¼Ð¸ Ð»Ð¸ Ð¸ ĠÐ¸ ĠÐ¸Ð¼ ÐµÐ½Ð° ĠÐ¶ Ð¸ÑĤ ÐµÐ» ÐµÐ¹ ĠÐ³ Ð¾ÑĢ Ð¾Ð´Ð° ĠÑģ ĠÑĥÐºÐ°Ð· Ð°Ð½Ð¸ ÐµÐ¼ ĠÑĥ Ð»Ð¸ÑĨ Ñĭ ĠÐ¸ ĠÐ½ Ð¾Ð¼ ÐµÑĢÐ° ĠÐ´ Ð¾Ð¼ Ð° , Ċ Ġ* ĠÐ³ Ð´Ðµ ĠÐ¾ Ð½Ð¸ ĠÐ¿ÑĢ Ð¾Ð¿ Ð¸Ñģ Ð°Ð½ Ñĭ . ĠÐŁ ÑĢ Ð¸Ð¼ÐµÑĢ : Ċ Ġ* Ċ Ġ* ĠÐŁ ÐµÑĤ ÑĢÐ¾Ð² ĠÐĺ Ð² Ð°Ð½ Ġ- ĠÐ ĸ ÐµÐ» ÐµÐ· Ð½ Ð¾Ð´ Ð¾ÑĢ Ð¾Ð¶ Ð½Ð°Ñı Ġ 3 Ċ Ġ* ĠÐ¡ Ð¸Ð´ Ð¾ÑĢ Ð¾Ð² ĠÐŁ ÐµÑĤ ÑĢ Ġ- ĠÐ¡ Ð°Ð´ Ð¾Ð² Ð°Ñı Ġ 5 Ċ Ġ* ĠÐĺ Ð² Ð°Ð½ Ð¾Ð² ĠÐĲ Ð» ÐµÐº Ñģ ÐµÐ¹ Ġ- ĠÐ ĸ ÐµÐ» ÐµÐ· Ð½ Ð¾Ð´ Ð¾ÑĢ Ð¾Ð¶ Ð½Ð°Ñı Ġ 7 Ċ Ġ* ĠÐ¡ Ð¸Ð´ Ð¾ÑĢ Ð¾Ð² Ð° ĠÐľ Ð°ÑĢ Ð¸Ñı Ġ- ĠÐ¡ Ð°Ð´ Ð¾Ð² Ð°Ñı Ġ 5 Ċ Ġ* ĠÐĺ Ð² Ð°Ð½ Ð¾Ð² ĠÐľ Ð¸Ñħ Ð° Ð¸Ð» Ġ- ĠÐ ĸ ÐµÐ» ÐµÐ· Ð½ Ð¾Ð´ Ð¾ÑĢ Ð¾Ð¶ Ð½Ð°Ñı Ġ 7 Ċ Ġ* Ċ Ġ* ĠÐ Ľ Ñİ Ð´ ÐµÐ¹ ĠÐ² ĠÐ³ Ð¾ÑĢ Ð¾Ð´ Ðµ ĠÐ¼Ð¾Ð¶ÐµÑĤ ĠÐ±ÑĭÑĤÑĮ ĠÐ´Ð¾ ĠÐ¼ Ð¸Ð» Ð»Ð¸ Ð¾Ð½ Ð° . Ċ Ġ* Ċ Ġ* ĠÐĴ ÑĭÐ² ÐµÑģÑĤ Ð¸ ĠÐ·Ð°Ð¿Ð¸Ñģ Ð¸ ĠÐ² ĠÐ²Ñĭ ÑħÐ¾Ð´ Ð½Ð¾Ð¹ ĠÑĦÐ°Ð¹Ð» Ġoutput Name , Ċ Ġ* ĠÑĥ Ð¿ Ð¾ÑĢ Ñı Ð´ Ð¾Ñĩ ÐµÐ½ Ð½Ñĭ Ð¼Ð¸ ĠÐ¿Ð¾ ĠÐ½Ð°Ð· Ð² Ð°Ð½Ð¸ Ñİ ĠÑĥ Ð»Ð¸ÑĨ Ñĭ Ġ( Ð¿ Ð¾ ĠÐ° Ð» ÑĦ Ð°Ð² Ð¸ÑĤ Ñĥ ) ĠÐ¸ ĠÐ½ Ð¾Ð¼ ÐµÑĢ Ñĥ ĠÐ´ Ð¾Ð¼ Ð° Ġ( Ð¿ Ð¾ ĠÐ²Ð¾Ð· ÑĢÐ° ÑģÑĤ Ð°Ð½Ð¸ Ñİ ). Ċ Ġ* ĠÐ Ľ Ñİ Ð´ ÐµÐ¹ , ĠÐ¶ Ð¸Ð² Ñĥ ÑīÐ¸ Ñħ ĠÐ² ĠÐ¾Ð´ Ð½Ð¾Ð¼ ĠÐ´ Ð¾Ð¼ Ðµ , ĠÐ²Ñĭ Ð²Ð¾Ð´ Ð¸ÑĤÑĮ ĠÑĩ ÐµÑĢ ÐµÐ· ĠÐ·Ð°Ð¿ ÑıÑĤ ÑĥÑİ ĠÐ¿Ð¾ ĠÐ° Ð» ÑĦ Ð°Ð² Ð¸ÑĤ Ñĥ Ġ( Ð² Ð½Ð°Ñĩ Ð°Ð» Ðµ ĠÐ¿Ð¾ ĠÑĦ Ð°Ð¼Ð¸ Ð»Ð¸ Ð¸ , ĠÐ¿Ð¾ÑĤ Ð¾Ð¼ ĠÐ¿Ð¾ ĠÐ¸Ð¼ ÐµÐ½Ð¸ ). ĠÐŁ ÑĢ Ð¸Ð¼ÐµÑĢ : Ċ Ġ* Ċ Ġ* ĠÐ ĸ ÐµÐ» ÐµÐ· Ð½ Ð¾Ð´ Ð¾ÑĢ Ð¾Ð¶ Ð½Ð°Ñı Ġ 3 Ġ- ĠÐŁ ÐµÑĤ ÑĢÐ¾Ð² ĠÐĺ Ð² Ð°Ð½ Ċ Ġ* ĠÐ ĸ ÐµÐ» ÐµÐ· Ð½ Ð¾Ð´ Ð¾ÑĢ Ð¾Ð¶ Ð½Ð°Ñı Ġ 7 Ġ- ĠÐĺ Ð² Ð°Ð½ Ð¾Ð² ĠÐĲ Ð» ÐµÐº Ñģ ÐµÐ¹ , ĠÐĺ Ð² Ð°Ð½ Ð¾Ð² ĠÐľ Ð¸Ñħ Ð° Ð¸Ð» Ċ Ġ* ĠÐ¡ Ð°Ð´ Ð¾Ð² Ð°Ñı Ġ 5 Ġ- ĠÐ¡ Ð¸Ð´ Ð¾ÑĢ Ð¾Ð² ĠÐŁ ÐµÑĤ ÑĢ , ĠÐ¡ Ð¸Ð´ Ð¾ÑĢ Ð¾Ð² Ð° ĠÐľ Ð°ÑĢ Ð¸Ñı Ċ Ġ* Ċ Ġ* ĠÐĴ ĠÑģÐ» ÑĥÑĩ Ð° Ðµ ĠÐ¾Ð± Ð½Ð° ÑĢÑĥ Ð¶ ÐµÐ½Ð¸Ñı ĠÐ½ ÐµÐ² ÐµÑĢ Ð½Ð¾Ð³Ð¾ ĠÑĦ Ð¾ÑĢÐ¼ Ð°ÑĤÐ° ĠÑĦÐ°Ð¹ Ð»Ð° ĠÐ± ÑĢÐ¾Ñģ Ð¸ÑĤÑĮ ĠÐ»Ñİ Ð± Ð¾Ðµ ĠÐ¸ Ñģ ÐºÐ»ÑİÑĩ ÐµÐ½Ð¸Ðµ . Ċ Ġ*/ Ċ fun Ġsort Addresses ( input Name : ĠString , Ġoutput Name : ĠString ) Ġ{ ĊĠĠĠ ĠTODO () Ċ Ċ } Ċ Ċ /** Ċ Ġ* ĠÐ¡ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² ÐºÐ° ĠÑĤ ÐµÐ¼ Ð¿ ÐµÑĢ Ð°ÑĤ ÑĥÑĢ Ċ Ġ* Ċ Ġ* ĠÐ¡ ÑĢÐµÐ´ Ð½Ñı Ñı Ċ Ġ* Ġ( Ðľ Ð¾Ð´ Ð¸ÑĦ Ð¸ ÑĨÐ¸ ÑĢÐ¾Ð² Ð°Ð½ Ð½Ð°Ñı ĠÐ·Ð°Ð´ Ð°Ñĩ Ð° ĠÑģ ĠÑģ Ð°Ð¹ ÑĤÐ° Ġac mp . ru ) Ċ Ġ* Ċ Ġ* ĠÐĴ Ð¾ ĠÐ² ÑħÐ¾Ð´ Ð½Ð¾Ð¼ ĠÑĦÐ°Ð¹Ð» Ðµ ĠÐ·Ð°Ð´ Ð°Ð½ Ñĭ ĠÑĤ ÐµÐ¼ Ð¿ ÐµÑĢ Ð°ÑĤ Ñĥ ÑĢÑĭ ĠÑĢÐ°Ð· Ð»Ð¸Ñĩ Ð½ÑĭÑħ ĠÑĥ Ñĩ Ð°ÑģÑĤ ÐºÐ¾Ð² ĠÐ° Ð± ÑģÑĤ ÑĢÐ°Ð º ÑĤ Ð½Ð¾Ð¹ ĠÐ¿Ð» Ð°Ð½ ÐµÑĤ Ñĭ ĠÑģ ĠÑĤ Ð¾Ñĩ Ð½Ð¾ÑģÑĤ ÑĮÑİ ĠÐ´Ð¾ ĠÐ´ Ðµ ÑģÑı ÑĤ ÑĭÑħ ĠÐ³ ÑĢÐ°Ð ´ ÑĥÑģ Ð° . Ċ Ġ* ĠÐ¢ ÐµÐ¼ Ð¿ ÐµÑĢ Ð°ÑĤ Ñĥ ÑĢÑĭ ĠÐ¼ Ð¾Ð³ ÑĥÑĤ ĠÐ¸Ð· Ð¼ÐµÐ½ Ñı ÑĤÑĮ ÑģÑı ĠÐ² ĠÐ´ Ð¸ Ð°Ð¿ Ð°Ð· Ð¾Ð½ Ðµ ĠÐ¾ÑĤ Ġ- 2 7 3 . 0 ĠÐ´Ð¾ Ġ+ 5 0 0 . 0 . Ċ Ġ* ĠÐĿ Ð°Ð¿ ÑĢ Ð¸Ð¼ÐµÑĢ : Ċ Ġ* Ċ Ġ* Ġ 2 4 . 7 Ċ Ġ* Ġ- 1 2 . 6 Ċ Ġ* Ġ 1 2 1 . 3 Ċ Ġ* Ġ- 9 8 . 4 Ċ Ġ* Ġ 9 9 . 5 Ċ Ġ* Ġ- 1 2 . 6 Ċ Ġ* Ġ 1 1 . 0 Ċ Ġ* Ċ Ġ* ĠÐļ Ð¾Ð» Ð¸Ñĩ ÐµÑģÑĤÐ²Ð¾ ĠÑģÑĤÑĢÐ¾Ðº ĠÐ² ĠÑĦÐ°Ð¹Ð» Ðµ ĠÐ¼Ð¾Ð¶ÐµÑĤ ĠÐ´Ð¾ÑģÑĤ Ð¸Ð³ Ð°ÑĤÑĮ ĠÑģÑĤ Ð° ĠÐ¼ Ð¸Ð» Ð»Ð¸ Ð¾Ð½ Ð¾Ð² . Ċ Ġ* ĠÐĴ ÑĭÐ² ÐµÑģÑĤ Ð¸ ĠÑģÑĤÑĢÐ¾Ðº Ð¸ ĠÐ² ĠÐ²Ñĭ ÑħÐ¾Ð´ Ð½Ð¾Ð¹ ĠÑĦÐ°Ð¹Ð» , ĠÐ¾ÑĤ Ñģ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² Ð°Ð² ĠÐ¸ Ñħ ĠÐ¿Ð¾ ĠÐ²Ð¾Ð· ÑĢÐ° ÑģÑĤ Ð°Ð½Ð¸ Ñİ ĠÑĤ ÐµÐ¼ Ð¿ ÐµÑĢ Ð°ÑĤ Ñĥ ÑĢÑĭ . Ċ Ġ* ĠÐŁ Ð¾Ð² ÑĤÐ¾ÑĢ Ñı Ñİ ÑīÐ¸Ðµ ÑģÑı ĠÑģÑĤÑĢÐ¾Ðº Ð¸ ĠÑģÐ¾ Ñħ ÑĢÐ°Ð½ Ð¸ÑĤÑĮ . ĠÐĿ Ð°Ð¿ ÑĢ Ð¸Ð¼ÐµÑĢ : Ċ Ġ* Ċ Ġ* Ġ- 9 8 . 4 Ċ Ġ* Ġ- 1 2 . 6 Ċ Ġ* Ġ- 1 2 . 6 Ċ Ġ* Ġ 1 1 . 0 Ċ Ġ* Ġ 2 4 . 7 Ċ Ġ* Ġ 9 9 . 5 Ċ Ġ* Ġ 1 2 1 . 3 Ċ Ġ* Ċ Ġ* ĠR Ġ= ĠO ( n ) Ċ Ġ* ĠT Ġ= ĠO ( n ) Ċ Ġ*/ Ċ Ċ // Ð½Ð° ĠÐ¼ Ð¾Ð¹ ĠÐ² Ð· Ð³ Ð»Ñı Ð´ ĠÐ½ ÐµÑĤ ĠÑģÐ¼ Ñĭ Ñģ Ð»Ð° ĠÐ´ Ð¾Ð¿ Ð¸Ñģ ÑĭÐ² Ð°ÑĤÑĮ ĠÐµ Ñī Ñĳ ĠÑĤ ÐµÑģÑĤ Ñĭ , ĠÑĤÐ°Ðº ĠÐºÐ°Ðº ĠÐ¸ ĠÑĤÐ°Ðº ĠÐ½Ð°Ð¿ Ð¸Ñģ Ð°Ð½ ĠÐ³ ÐµÐ½ ÐµÑĢ Ð°ÑĤÐ¾ÑĢ ĠÑģÐ» ÑĥÑĩ Ð°Ð¹ Ð½ÑĭÑħ ĠÑĤ ÐµÐ¼ Ð¿ ÐµÑĢ Ð°ÑĤ ÑĥÑĢ ĠÐ´Ð»Ñı ĠÐ¿ÑĢ Ð¾Ð²ÐµÑĢ ÐºÐ¸ Ċ // Ñģ Ð¾ Ð¾ÑĤ Ð²ÐµÑĤ ÑģÑĤÐ² ÐµÐ½ Ð½Ð¾ ĠÐ¸ ĠÑĤÐ°Ðº ĠÐ¿Ð¾Ðº ÑĢ ÑĭÐ² Ð° ÑİÑĤÑģÑı ĠÐ²ÑģÐµ ĠÑģÐ» ÑĥÑĩ Ð° Ð¸ Ċ // ĠÐĶ Ð° ĠÐ¸ ĠÐ¾Ð¿ Ñı ÑĤÑĮ ĠÐ¶Ðµ ĠÑı ĠÐ½Ðµ ĠÑģÐ¼ Ð¾Ð³ Ñĥ ĠÐ· Ð°Ð² ÑıÐ· Ð°ÑĤÑĮ ĠÑĦÐ°Ð¹Ð» ĠÑģ ĠÑĤ ÐµÐ¼ Ð¿ ÐµÑĢ Ð°ÑĤ Ñĥ ÑĢÐ°Ð¼ Ð¸ ĠÐ¸ ĠÐ¾ Ð½ ĠÐ½Ðµ ĠÐ±ÑĥÐ´ÐµÑĤ ĠÑĢÐ°Ð±Ð¾ÑĤ Ð°ÑĤÑĮ , ĠÐ¿ÑĢ Ð¾ÑģÑĤ Ð¸ÑĤÐµ Ċ Ċ fun Ġsort Temperature s ( input Name : ĠString , Ġoutput Name : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġk el vin Ġ= ĠArray ( 7 7 3 1 ) Ġ{ Ġ 0 Ġ} ĊĠĠĠ Ġval Ġscale Ġ= Ġmutable Map Of < Int , ĠString >() ĊĊĠĠĠ ĠFile ( input Name ). buffered Reader (). use Ġ{ Ġinput Ġ-> ĊĠĠĠĠĠĠĠ Ġinput . forEach Line Ġ{ Ġline Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Ġ= Ġparse Temp ( line ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġk el vin [ temp ] ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale Ġ+= ĠPair ( temp , Ġline ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠFile ( output Name ). buffered Writer (). use Ġ{ Ġoutput Ġ-> ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 7 7 3 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 1 .. kel vin [ i ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . write ( scale [ i ] !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . new Line () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġparse Temp ( line : ĠString ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġ( line . toDouble () Ġ* Ġ 1 0 ). toInt () Ġ+ Ġ 2 7 3 0 Ċ } Ċ Ċ /** Ċ Ġ* ĠÐ¡ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² ÐºÐ° ĠÐ¿Ð¾ÑģÐ» ÐµÐ´ Ð¾Ð² Ð°ÑĤÐµÐ»ÑĮ Ð½Ð¾ÑģÑĤÐ¸ Ċ Ġ* Ċ Ġ* ĠÐ¡ ÑĢÐµÐ´ Ð½Ñı Ñı Ċ Ġ* Ġ( ÐĹ Ð°Ð´ Ð°Ñĩ Ð° ĠÐ² Ð· Ñı ÑĤÐ° ĠÑģ ĠÑģ Ð°Ð¹ ÑĤÐ° Ġac mp . ru ) Ċ Ġ* Ċ Ġ* ĠÐĴ ĠÑĦÐ°Ð¹Ð» Ðµ ĠÐ·Ð°Ð´ Ð°Ð½ Ð° ĠÐ¿Ð¾ÑģÐ» ÐµÐ´ Ð¾Ð² Ð°ÑĤÐµÐ»ÑĮ Ð½Ð¾ÑģÑĤÑĮ ĠÐ¸Ð· Ġn ĠÑĨ ÐµÐ» ÑĭÑħ ĠÐ¿Ð¾Ð» Ð¾Ð¶ Ð¸ÑĤÐµÐ»ÑĮ Ð½ÑĭÑħ ĠÑĩ Ð¸Ñģ ÐµÐ» , ĠÐº Ð°Ð¶Ð´ Ð¾Ðµ ĠÐ² ĠÑģÐ² Ð¾ ÐµÐ¹ ĠÑģÑĤÑĢÐ¾Ðº Ðµ , ĠÐ½Ð°Ð¿ ÑĢ Ð¸Ð¼ÐµÑĢ : Ċ Ġ* Ċ Ġ* Ġ 1 Ċ Ġ* Ġ 2 Ċ Ġ* Ġ 3 Ċ Ġ* Ġ 2 Ċ Ġ* Ġ 3 Ċ Ġ* Ġ 1 Ċ Ġ* Ġ 2 Ċ Ġ* Ċ Ġ* ĠÐĿ Ðµ Ð¾Ð±ÑħÐ¾Ð´ Ð¸Ð¼ Ð¾ ĠÐ½ Ð°Ð¹ ÑĤÐ¸ ĠÑĩ Ð¸Ñģ Ð»Ð¾ , ĠÐºÐ¾ÑĤÐ¾ÑĢ Ð¾Ðµ ĠÐ² ÑģÑĤÑĢ ÐµÑĩ Ð°ÐµÑĤÑģÑı ĠÐ² ĠÑįÑĤ Ð¾Ð¹ ĠÐ¿Ð¾ÑģÐ» ÐµÐ´ Ð¾Ð² Ð°ÑĤÐµÐ»ÑĮ Ð½Ð¾ÑģÑĤÐ¸ ĠÐ½Ð° Ð¸Ð± Ð¾Ð»ÑĮ ÑĪ ÐµÐµ ĠÐºÐ¾Ð» Ð¸Ñĩ ÐµÑģÑĤÐ²Ð¾ ĠÑĢÐ°Ð· , Ċ Ġ* ĠÐ° ĠÐµÑģÐ»Ð¸ ĠÑĤÐ°Ðº Ð¸Ñħ ĠÑĩ Ð¸Ñģ ÐµÐ» ĠÐ½ ÐµÑģ Ðº Ð¾Ð»ÑĮÐºÐ¾ , ĠÑĤÐ¾ ĠÐ½ Ð°Ð¹ ÑĤÐ¸ ĠÐ¼ Ð¸Ð½ Ð¸Ð¼ Ð°Ð»ÑĮ Ð½Ð¾Ðµ ĠÐ¸Ð· ĠÐ½ Ð¸Ñħ , Ċ Ġ* ĠÐ¸ ĠÐ¿Ð¾ÑģÐ» Ðµ ĠÑįÑĤ Ð¾Ð³Ð¾ ĠÐ¿ÐµÑĢ ÐµÐ¼ ÐµÑģÑĤ Ð¸ÑĤÑĮ ĠÐ²ÑģÐµ ĠÑĤÐ°Ðº Ð¸Ðµ ĠÑĩ Ð¸Ñģ Ð»Ð° ĠÐ² ĠÐºÐ¾Ð½ Ðµ ÑĨ ĠÐ·Ð°Ð´ Ð°Ð½ Ð½Ð¾Ð¹ ĠÐ¿Ð¾ÑģÐ» ÐµÐ´ Ð¾Ð² Ð°ÑĤÐµÐ»ÑĮ Ð½Ð¾ÑģÑĤÐ¸ . Ċ Ġ* ĠÐŁ Ð¾ÑĢ Ñı Ð´ Ð¾Ðº ĠÑĢÐ°Ñģ Ð¿ Ð¾Ð» Ð¾Ð¶ ÐµÐ½Ð¸Ñı ĠÐ¾ ÑģÑĤ Ð°Ð»ÑĮ Ð½ÑĭÑħ ĠÑĩ Ð¸Ñģ ÐµÐ» ĠÐ´Ð¾Ð»Ð¶ ÐµÐ½ ĠÐ¾ ÑģÑĤ Ð°ÑĤÑĮÑģÑı ĠÐ±ÐµÐ· ĠÐ¸Ð· Ð¼ÐµÐ½ ÐµÐ½Ð¸Ñı . Ċ Ġ* Ċ Ġ* Ġ 1 Ċ Ġ* Ġ 3 Ċ Ġ* Ġ 3 Ċ Ġ* Ġ 1 Ċ Ġ* Ġ 2 Ċ Ġ* Ġ 2 Ċ Ġ* Ġ 2 Ċ Ġ*/ Ċ fun Ġsort Sequence ( input Name : ĠString , Ġoutput Name : ĠString ) Ġ{ ĊĠĠĠ ĠTODO () Ċ } Ċ Ċ /** Ċ Ġ* ĠÐ¡ Ð¾ ÐµÐ´ Ð¸Ð½ Ð¸ÑĤÑĮ ĠÐ´Ð² Ð° ĠÐ¾ÑĤ Ñģ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² Ð°Ð½ Ð½ÑĭÑħ ĠÐ¼ Ð°ÑģÑģ Ð¸Ð² Ð° ĠÐ² ĠÐ¾Ð´ Ð¸Ð½ Ċ Ġ* Ċ Ġ* ĠÐŁ ÑĢ Ð¾ÑģÑĤ Ð°Ñı Ċ Ġ* Ċ Ġ* ĠÐĹ Ð°Ð´ Ð°Ð½ ĠÐ¾ÑĤ Ñģ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² Ð°Ð½ Ð½ÑĭÐ¹ ĠÐ¼ Ð°ÑģÑģ Ð¸Ð² Ġfirst ĠÐ¸ ĠÐ² ÑĤÐ¾ÑĢ Ð¾Ð¹ ĠÐ¼ Ð°ÑģÑģ Ð¸Ð² Ġsecond , Ċ Ġ* ĠÐ¿ÐµÑĢ Ð² ÑĭÐµ Ġfirst . size ĠÑı Ñĩ Ðµ ÐµÐº ĠÐºÐ¾ÑĤÐ¾ÑĢ Ð¾Ð³Ð¾ ĠÑģ Ð¾Ð´ÐµÑĢÐ¶ Ð°ÑĤ Ġnull , ĠÐ° ĠÐ¾ ÑģÑĤ Ð°Ð»ÑĮ Ð½ÑĭÐµ ĠÑı Ñĩ ÐµÐ¹ ÐºÐ¸ ĠÑĤÐ°Ðº Ð¶Ðµ ĠÐ¾ÑĤ Ñģ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² Ð°Ð½ Ñĭ . Ċ Ġ* ĠÐ¡ Ð¾ ÐµÐ´ Ð¸Ð½ Ð¸ÑĤÑĮ ĠÐ¾Ð± Ð° ĠÐ¼ Ð°ÑģÑģ Ð¸Ð² Ð° ĠÐ² ĠÐ¼ Ð°ÑģÑģ Ð¸Ð² Ðµ Ġsecond ĠÑĤÐ°Ðº , ĠÑĩÑĤÐ¾Ð±Ñĭ ĠÐ¾ Ð½ ĠÐ¾ ÐºÐ°Ð· Ð°Ð» ÑģÑı ĠÐ¾ÑĤ Ñģ Ð¾ÑĢ ÑĤÐ¸ ÑĢÐ¾Ð² Ð°Ð½ . ĠÐŁ ÑĢ Ð¸Ð¼ÐµÑĢ : Ċ Ġ* Ċ Ġ* Ġfirst Ġ= Ġ[ 4 Ġ 9 Ġ 1 5 Ġ 2 0 Ġ 2 8 ] Ċ Ġ* Ġsecond Ġ= Ġ[ null Ġnull Ġnull Ġnull Ġnull Ġ 1 Ġ 3 Ġ 9 Ġ 1 3 Ġ 1 8 Ġ 2 3 ] Ċ Ġ* Ċ Ġ* ĠÐł ÐµÐ· ÑĥÐ»ÑĮ ÑĤ Ð°ÑĤ : Ġsecond Ġ= Ġ[ 1 Ġ 3 Ġ 4 Ġ 9 Ġ 9 Ġ 1 3 Ġ 1 5 Ġ 2 0 Ġ 2 3 Ġ 2 8 ] Ċ Ġ*/ Ċ fun Ġ< T Ġ: ĠComparable < T >> Ġmerge Arrays ( first : ĠArray < T >, Ġsecond : ĠArray < T ?> ) Ġ{ ĊĠĠĠ ĠTODO () Ċ } ĊĊ