1
var Solution = function (m, n) {
2
this.length = m * n;
3
this.range = new Array(this.length);
4
this.n = n;
5
this.pointer = 0;
6
};
7

8
Solution.prototype.flip = function () {
9
let limit = this.length - this.pointer - 1;
10
let index = ~~(Math.random() * limit) + this.pointer;
11

12
if (this.range[index] === undefined) this.range[index] = index;
13
if (this.range[this.pointer] === undefined)
14
this.range[this.pointer] = this.pointer;
15

16
let tmp = this.range[index];
17
this.range[index] = this.range[this.pointer];
18
this.range[this.pointer] = tmp;
19

20
let a = ~~(this.range[this.pointer] / this.n);
21
let b = this.range[this.pointer] % this.n;
22

23
this.pointer++;
24
return [a, b];
25
};
26

27
Solution.prototype.reset = function () {
28
this.pointer = 0;
29
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0