We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
//STARTletcount=0;letl=A.length;letcookies=newMap();letflagK=false;letflag=false;letKEY;letlimit=Math.ceil(k/3);letlast1=Number.MAX_VALUE;letrest=0;letlast2;//CREATE MAP & COUNTING ZEROES AND RESTfor(leti=0;i<l;i++){//COUNTING ZEROESif(A[i]==0){count++;continue;}if(A[i]<k){//COUNTING REST & SET LAST if(A[i]>=limit){if(A[i]<last1)last1=A[i];rest++;}else{//CREATE A MAPif(cookies.has(A[i]))cookies.set(A[i],cookies.get(A[i])+1)elsecookies.set(A[i],1)}}elseflagK=true}//CHEK IF ALL >= Kif(cookies.size==0)return0;for(leti=1;i<limit;i++){if(cookies.has(i)){letvalue=cookies.get(i)if(flag){flag=falsevalue--;KEY+=i*2;if(KEY<k){if(cookies.has(KEY))cookies.set(KEY,cookies.get(KEY)+1)elsecookies.set(KEY,1);}elseflagK=true}if(value%2==1){flag=true;value--;KEY=i;count++;}else{}if(value!=0){letv2=value/2;consti3=i*3;if(i3<k){if(cookies.has(i3))cookies.set(i3,cookies.get(i3)+v2);elsecookies.set(i3,v2);}elseflagK=truecount+=v2;}last2=icookies.delete(i)}}if(flag){count--;rest++;}cookies.forEach((val,ki)=>{if(ki<last1)last1=ki;rest+=val;})if(rest>=2)flagK=true;if(last2+last1*2>=k||flag==false)count+=Math.ceil(rest/2);elsecount+=Math.ceil((rest+1)/2);if(flagK==false)return-1elsereturncount
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Jesse and Cookies
You are viewing a single comment's thread. Return to all comments →
Java Script All cases JS