/** Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġ- Ġ 2 0 2 2 ĠEP AM ĠSystems Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . ep am . d sm . util Ċ Ċ import Ġjava . util .* Ċ import Ġjava . util . stream .* Ċ Ċ fun ĠBit Set . string Representation (): ĠString Ġ{ ĊĠĠĠ Ġval Ġsize Ġ= Ġlength () Ġ- Ġ 1 Ġ// bit set Ġissue . ĊĠĠĠ Ġreturn ĠInt Stream ĊĠĠĠĠĠĠĠ Ġ. range ( 0 , Ġsize ) ĊĠĠĠĠĠĠĠ Ġ. map To Obj Ġ{ Ġi : ĠInt Ġ-> Ġif Ġ( get ( i )) Ġ' 1 ' Ġelse Ġ' 0 ' Ġ} ĊĠĠĠĠĠĠĠ Ġ. collect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠStringBuilder ( size ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġbuffer : ĠStringBuilder , Ġcharacter ToAdd : ĠChar Ġ-> Ġbuffer . append ( character ToAdd ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġobj : ĠStringBuilder , Ġs : ĠStringBuilder Ġ-> Ġobj . append ( s ) Ġ}) ĊĠĠĠĠĠĠĠ Ġ. toString () Ċ } Ċ Ċ fun ĠString . to Bit Set (): ĠBit Set Ġ{ ĊĠĠĠ Ġval Ġbit Set Ġ= ĠBit Set ( length Ġ+ Ġ 1 ) ĊĠĠĠ Ġbit Set . set ( length )// magic ĊĠĠĠ ĠforEach Indexed Ġ{ Ġin x , Ġch Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( ch Ġ== Ġ' 1 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbit Set . set ( inx ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġbit Set Ċ } Ċ