/* ĠLicensed Ġunder ĠApache - 2 . 0 Ġ@ æ¢ ¦ å¢ĥ è¿ · ç¦» Ġ*/ Ċ package Ġio . github . dream y lost Ċ Ċ /** Ċ Ġ* Ġ 6 5 4 . Ġ æľĢå¤§ äºĮ åıī æłĳ Ċ Ġ* Ċ Ġ* Ġ ç»Ļ å®ļ ä¸Ģä¸ª ä¸į åĲ« éĩįå¤į åħĥç´ł çļĦ æķ´æķ° æķ°ç»Ħ ãĢĤ ä¸Ģä¸ª ä»¥ æŃ¤ æķ°ç»Ħ æŀĦå»º çļĦ æľĢå¤§ äºĮ åıī æłĳ å®ļä¹ī å¦Ĥä¸ĭ ï¼ļ Ċ Ġ* Ġ äºĮ åıī æłĳ çļĦ æł¹ æĺ¯ æķ°ç»Ħ ä¸ŃçļĦ æľĢå¤§ åħĥç´ł ãĢĤ å·¦ åŃĲ æłĳ æĺ¯ éĢļè¿ĩ æķ°ç»Ħ ä¸Ń æľĢå¤§ åĢ¼ å·¦ è¾¹ éĥ¨åĪĨ æŀĦéĢł åĩºçļĦ æľĢå¤§ äºĮ åıī æłĳ ãĢĤ åı³ åŃĲ æłĳ æĺ¯ éĢļè¿ĩ æķ°ç»Ħ ä¸Ń æľĢå¤§ åĢ¼ åı³ è¾¹ éĥ¨åĪĨ æŀĦéĢł åĩºçļĦ æľĢå¤§ äºĮ åıī æłĳ ãĢĤ Ċ Ġ* ĠéĢļè¿ĩ ç»Ļ å®ļçļĦ æķ°ç»Ħ æŀĦå»º æľĢå¤§ äºĮ åıī æłĳ ï¼Į å¹¶ä¸Ķ è¾ĵåĩº è¿Ļä¸ª æłĳ çļĦ æł¹ èĬĤçĤ¹ ãĢĤ Ċ Ġ* Ċ Ġ* Ġ Ġ@ see Ġ[[ https :// github . com / jx nu - l igu ob in ]] Ċ Ġ* Ġ Ġ@ author Ġæ ¢ ¦ å¢ĥ è¿ · ç¦» Ċ Ġ* Ġ Ġ@ since Ġ 2 0 2 0 - 0 8 - 2 3 Ċ Ġ* Ġ Ġ@ version Ġ 1 . 0 Ċ Ġ*/ Ċ class ĠLe et code _ 6 5 4 Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ 3 5 2 Ġms , 2 8 . 5 7 % ĊĠĠĠĠĠĠĠĠ Ġ* Ġ 4 0 ĠMB , 1 0 0 . 0 0 % ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġconstruct Maximum Binary Tree ( nums : ĠInt Array ): ĠTreeNode ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( nums . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Ġ= Ġnums . max OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġmax !!. let Ġ{ Ġnums . indexOf ( max ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġroot Ġ= ĠTreeNode ( max ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot . left Ġ= Ġconstruct Maximum Binary Tree ( nums . slice Array ( 0 Ġuntil Ġindex )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot . right Ġ= Ġconstruct Maximum Binary Tree ( nums . slice Array ( index Ġ+ Ġ 1 Ġuntil Ġnums . size )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġret Ġ= Ġconstruct Maximum Binary Tree ( array Of ( 3 , Ġ 2 , Ġ 1 , Ġ 6 , Ġ 0 , Ġ 5 ). to IntArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( ret ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ