今天在工作中遇到這樣一個問題:給定1個矩形,左下角的點(diǎn)point(x, y),長w,高h(yuǎn),要在這個矩形里隨機(jī)出n個不同的點(diǎn)用來種怪。這個算法該怎么寫呢?這對于我來說確實成為了一個問題。圖示如下:
由于任務(wù)時間緊,做的又是Demo的原因,我不假思索的寫出了下面這個算法:
//從[from, to]區(qū)間中隨機(jī)一個整數(shù) function randomInt (from, to) { //方法實現(xiàn)就不寫了 } function randomCoords (point, w, h, n) { //目的數(shù)組 var coords = []; var map = {}; var count = n; if ((w + 1) * (h + 1) < n) { count = (w + 1) * (h + 1); } while (count > 0) { var x = randomInt(point.x, point.x + w); var y = randomInt(point.y, point.y +