package Ġcom . daily . algo th rim . leetcode Ċ Ċ /** Ċ Ġ* Ġ 1 4 8 6 . Ġ æķ°ç»Ħ å¼Ĥ æĪĸ æĵįä½ľ Ċ Ġ* Ċ Ġ* Ġ ç»Ļ ä½ł ä¸¤ä¸ª æķ´æķ° ï¼Į n ĠåĴĮ Ġstart ĠãĢĤ Ċ Ġ* Ċ Ġ* Ġ æķ°ç»Ħ Ġnums Ġ å®ļä¹ī ä¸º ï¼ļ nums [ i ] Ġ= Ġstart Ġ+ Ġ 2 * i ï¼Ī ä¸ĭ æłĩ ä»İ Ġ 0 Ġ å¼Ģå§ĭ ï¼ī ä¸Ķ Ġn Ġ== Ġnums . length ĠãĢĤ Ċ Ġ* Ċ Ġ* Ġ è¯· è¿ĶåĽŀ Ġnums Ġä¸Ń æīĢæľī åħĥç´ł æĮī ä½į å¼Ĥ æĪĸ ï¼Ī XOR ï¼ī åĲİ å¾ĹåĪ° çļĦ ç»ĵæŀľ ãĢĤ Ċ Ġ*/ Ċ class ĠX or Operation Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( Xor Operation (). xor Operation ( 5 , Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( Xor Operation (). xor Operation ( 4 , Ġ 3 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( Xor Operation (). xor Operation 2 ( 5 , Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( Xor Operation (). xor Operation 2 ( 4 , Ġ 3 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġxor Operation ( n : ĠInt , Ġstart : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġstart ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġn ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult . xor ( start Ġ+ Ġ 2 Ġ* Ġi ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġxor Operation 2 ( n : ĠInt , Ġstart : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= Ġstart . shr ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġn . and ( start ). and ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsum Xor ( s Ġ- Ġ 1 ). xor ( sum Xor ( s Ġ+ Ġn Ġ- Ġ 1 )) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult . sh l ( 1 ). or ( e ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsum Xor ( x : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( x Ġ% Ġ 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġx ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġx Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }