我有一個數組數組,每個這些數字代表重量。數組中的數字在0和1之間,這些數字的總和總和爲1.因此,如果說array [1]是0.6,那表示我希望它顯示大約60%的時間。數組本身並不爲我所知,所以我不知道這些數字,它們是用戶輸入的例子。機會邏輯問題/重構(javascript)
我有一個解決方案,但我不知道它是否是最有效的方式來做到這一點。我的解決方案似乎效率很低。這是
- 產生隨機數
- 複製該用戶輸入數組到一個新的數組和排序從最小到最大
- 比較在這個新的數組中的隨機數來數,所以它會從比較數組中的最小值到最大值,當隨機數小於數組數時,我會將數組數存入一個變量中,並且退出循環
- 最後,我會將x與原始數組進行比較以找出結果x的索引是在原始數組中
這似乎有很多工作要做,有沒有更簡單的解決方案?我的頭不旋轉那麼快
編輯 - 原始數組不以任何方式
EDIT 2排序 - 基本上,我有這個隨機數進行比較的排序的數組的麻煩。我需要的無序保持不變這就是爲什麼我在我的邏輯,生成新的數組
測試它,你想做什麼? – pomeh
找出生成的隨機數在哪裏屬於數組。這是一個旋轉器,我需要找到第一張幻燈片旋轉,偶然發現/重量。 – Huangism
你能發表一些代碼嗎?可以幫助其他人看待問題。 – RubbleFord