Guest User

asdas

a guest
Jul 27th, 2016
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. export function randomExclude( min: number , max: number , excludeList: number[] ): number {
  2.  
  3.     console.log( `randomExclude( ${min}, ${max} , [${excludeList}] )` );
  4.  
  5.     // (złożoność lg n, tablica exclude musi być wcześniej posortowana).
  6.     excludeList = excludeList.sort();
  7.  
  8.     // losujesz liczbę od min do max-len(exclude)
  9.     let value: number = random( min , ( max - excludeList.length ) );
  10.  
  11.     //sprawdzasz, ile jest liczb w exclude mniejszych od wylosowanej (złożoność lg n, tablica exclude musi być wcześniej posortowana).
  12.     excludeList.forEach( (n: number) => {
  13.         if ( n < value ) {
  14.             //dodajesz do wylosowanej liczby tę wartość
  15.             value += 1;
  16.         }
  17.     } );
  18.  
  19.     console.log( `value = ${value}` );
  20.     return value;
  21.  
  22. }
Advertisement
Add Comment
Please, Sign In to add comment