package Ġle et code . kotlin . gre edy Ċ Ċ private Ġfun Ġcan Complete Circuit ( gas : ĠInt Array , Ġcost : ĠInt Array ): ĠInt Ġ{ ĊĠĠĠ Ġvar Ġstart Ġ= Ġ 0 ĊĠĠĠ Ġwhile Ġ( start Ġ< Ġgas . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġstart ĊĠĠĠĠĠĠĠ Ġvar Ġcur _ gas Ġ= Ġgas [ start ] ĊĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġstart Ġ+ Ġgas . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ% = Ġgas . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cur _ gas Ġ< Ġcost [ i ]) Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcur _ gas Ġ= Ġcur _ gas Ġ- Ġcost [ i ] Ġ+ Ġgas [( ++ i ) Ġ% Ġgas . size ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ% Ġgas . size Ġ== Ġstart ) Ġreturn Ġstart ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstart ++ ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġ- 1 Ċ } Ċ Ċ private Ġfun Ġcan Complete Circuit 2 ( gas : ĠInt Array , Ġcost : ĠInt Array ): ĠInt Ġ{ ĊĠĠĠ Ġ// determine Ġif Ġwe Ġhave Ġa Ġsolution ĊĠĠĠ Ġvar Ġtotal Ġ= Ġ 0 ĊĠĠĠ Ġfor Ġ( i Ġin Ġgas . indices ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtotal Ġ+= Ġgas [ i ] Ġ- Ġcost [ i ] ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( total Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġfind Ġout Ġwhere Ġto Ġstart ĊĠĠĠ Ġvar Ġtank Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġstart Ġ= Ġ 0 ĊĠĠĠ Ġfor Ġ( i Ġin Ġgas . indices ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtank Ġ+= Ġgas [ i ] Ġ- Ġcost [ i ] ĊĠĠĠĠĠĠĠ Ġif Ġ( tank Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġi Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtank Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġstart Ċ }