functionnextBigger($n){// your code hereif(strlen($n)===1){return-1;}$answer=0;$maxNumber=findMaxNumber($n);if($maxNumber===$n){return-1;}$nInfoArray=[];$strCountArray=[];$index=0;$str=(string)$n;for(;$index<strlen($str);$index++){if(array_key_exists((string)$str[$index],$nInfoArray)===true){$nInfoArray[(string)$str[$index]]+=1;}else{$nInfoArray[(string)$str[$index]]=1;$strCountArray[(string)$str[$index]]=0;}}for($min=$n+1;$min<=$maxNumber;$min++){$str=(string)$min;$strIndex=0;$findAlert=false;for(;$strIndex<strlen($str);$strIndex++){if(strpos((string)$n,(string)$str[$strIndex])!==false){$strCountArray[(string)$str[$strIndex]]+=1;if($strCountArray[(string)$str[$strIndex]]>$nInfoArray[(string)$str[$strIndex]]){$findAlert=true;}}else{$findAlert=true;break;}}foreach($strCountArrayas$key=>$value){$strCountArray[$key]=0;}if($findAlert===true){continue;}$answer=$min;break;}if($answer===$n){return-1;}return$answer;}functionfindMaxNumber($n){$maxNumberArray=[];$string=(string)$n;for($index=0;$index<strlen($string);$index++){$maxNumberArray[]=$string[$index];}sort($maxNumberArray);$maxNumberArray=array_reverse($maxNumberArray);return(int)implode($maxNumberArray);}
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Here is my simple solution with PHP: