package ĠLe etCode . æķ° åŃ¦ Ċ Ċ /** Ċ Ġ* Ġ@ Author ĠA q inn Ċ Ġ* Ġ@ Date Ġ 2 0 2 1 / 6 / 1 1 Ġ 1 0 : 2 5 Ġä¸Ĭ åįĪ Ċ Ġ*/ Ċ Ċ /** Ċ é¢ĺ çĽ® æııè¿° : Ċ äºĮ è¿ĽåĪ¶ æīĭ è¡¨ é¡¶ éĥ¨ æľī Ġ 4 Ġä¸ª ĠLED Ġ ä»£è¡¨ Ġå°ı æĹ¶ ï¼Ī 0 - 1 1 ï¼īï¼Į åºķ éĥ¨ çļĦ Ġ 6 Ġä¸ª ĠLED Ġ ä»£è¡¨ ĠåĪĨ éĴŁ ï¼Ī 0 - 5 9 ï¼īãĢĤ Ċ æ¯ıä¸ª ĠLED Ġ ä»£è¡¨ ä¸Ģä¸ª Ġ 0 ĠæĪĸ Ġ 1 ï¼Į æľĢ ä½İ ä½į åľ¨ åı³ ä¾§ ãĢĤ Ċ Ċ ç»Ļ ä½ł ä¸Ģä¸ª æķ´æķ° Ġturned On Ġï¼Į è¡¨ç¤º å½ĵåīį äº ® çĿĢ çļĦ ĠLED ĠçļĦ æķ°éĩı ï¼Į è¿ĶåĽŀ äºĮ è¿ĽåĪ¶ æīĭ è¡¨ åı¯ä»¥ è¡¨ç¤º çļĦæīĢæľī åı¯èĥ½ æĹ¶éĹ´ ãĢĤ ä½łåı¯ä»¥ Ġ æĮī ä»»æĦı é¡ºåºı Ġè¿ĶåĽŀ çŃĶ æ¡Ī ãĢĤ Ċ å°ı æĹ¶ ä¸įä¼ļ ä»¥ éĽ¶ å¼Ģ å¤´ ï¼ļ Ċ ä¾ĭå¦Ĥ ï¼Į " 0 1 : 0 0 " Ġæĺ¯ æĹł æķĪ çļĦæĹ¶éĹ´ ï¼Į æŃ£ç¡® çļĦ åĨĻ æ³ķ åºĶè¯¥ æĺ¯ Ġ" 1 : 0 0 " ĠãĢĤ Ċ åĪĨ éĴŁ å¿ħé¡» çĶ± ä¸¤ ä½į æķ°ç»Ħ æĪĲ ï¼Į åı¯èĥ½ä¼ļ ä»¥ éĽ¶ å¼Ģ å¤´ ï¼ļ Ċ ä¾ĭå¦Ĥ ï¼Į " 1 0 : 2 " Ġæĺ¯ æĹł æķĪ çļĦæĹ¶éĹ´ ï¼Į æŃ£ç¡® çļĦ åĨĻ æ³ķ åºĶè¯¥ æĺ¯ Ġ" 1 0 : 0 2 " ĠãĢĤ Ċ Ċ æĿ¥ æºĲ ï¼ļ åĬĽ æī £ ï¼Ī LeetCode ï¼ī Ċ éĵ¾æİ¥ ï¼ļ https :// leetcode - cn . com / problems / binary - watch Ċ èĳĹ ä½ľ æĿĥ å½Ĵ é¢Ĩ æī £ ç½ĳç»ľ æīĢæľī ãĢĤ åķĨ ä¸ļ è½¬ è½½ è¯· èģĶç³» å®ĺæĸ¹ æİĪæĿĥ ï¼Į éĿŀ åķĨ ä¸ļ è½¬ è½½ è¯· æ³¨ æĺİ åĩº å¤Ħ ãĢĤ Ċ Ġ*/ Ċ Ċ fun Ġread Binary Watch ( turn ed On : ĠInt ): ĠList < String > Ġ{ ĊĠĠĠ Ġif Ġ( turn ed On Ġ< Ġ 0 Ġ|| Ġturned On Ġ> Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġres Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġval Ġhours Ġ= Ġint ArrayOf ( 0 b 1 , Ġ 0 b 1 0 , Ġ 0 b 1 0 0 , Ġ 0 b 1 0 0 0 , Ġ 0 , Ġ 0 , Ġ 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠ Ġval Ġmins Ġ= Ġint ArrayOf ( 0 , Ġ 0 , Ġ 0 , Ġ 0 , Ġ 0 b 1 , Ġ 0 b 1 0 , Ġ 0 b 1 0 0 , Ġ 0 b 1 0 0 0 , Ġ 0 b 1 0 0 0 0 , Ġ 0 b 1 0 0 0 0 0 ) ĊĠĠĠ Ġback track ( turn ed On , Ġ 0 , Ġ 0 , Ġ 0 , Ġres , Ġhours , Ġmins ) ĊĠĠĠ Ġreturn Ġres Ċ } Ċ Ċ fun Ġback track ( n : ĠInt , Ġidx : ĠInt , Ġh : ĠInt , Ġm : ĠInt , Ġres : ĠMutable List < String >, Ġhours : ĠInt Array , Ġmins : ĠInt Array ) Ġ{ ĊĠĠĠ Ġif Ġ( h Ġ> Ġ 1 1 Ġ|| Ġm Ġ> Ġ 5 9 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( n Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġres . add ( getTime ( h , Ġm )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfor Ġ( i Ġin Ġidx Ġuntil Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġback track ( n Ġ- Ġ 1 , Ġi Ġ+ Ġ 1 , Ġh Ġ+ Ġhours [ i ], Ġm Ġ+ Ġmins [ i ], Ġres , Ġhours , Ġmins ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠgetTime ( h : ĠInt , Ġm : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ"% d :% 0 2 d ". format ( h , Ġm ) Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġlist Ġ= Ġread Binary Watch ( 1 ) ĊĠĠĠ Ġprintln ( list ) Ċ }