在配色方案中,我想對色調進行排序,但是希望避免「大差距」,即優先使用350,354,2,10,15
而不是2,10,15,350,354
(當表示爲0-360度值時)。什麼是最好的做法(例如在PHP中)?它是否找到了「最大的差距」並在此之後開始?任何更好的想法?將色調分類爲最短跨度的算法,例如`350,354,2,10,15`? [0-360度]
3
A
回答
0
如果你沒有那麼多:
- 只是有點爲了
- 找到方差(模360)(即多遠他們是從「模360平均」)
- 將第一個移動到最後,再次檢查方差。
- 嘗試完所有這些選項後,請選擇最小的一個。
該算法是O(N^2)大小的列表。
主要的問題是你只有N'旋轉'在這裏。決定一個'gappiness'統計量,並且對所有N次旋轉蠻力,並使用最小化'gappiness'的安排。
+2
對不起,如果我是迂腐,但排序仍然是O(n * logn),所以整個算法的效率至少是O(n * logn)。另外,只是一次O(N)操作才找到方差?如果是這樣,找到N次方差是二次方程,除非有更快的方法來查找隨後時間的方差 – 2011-04-02 15:44:21
+0
你是完全正確的,我已經更正了答案。良好的發現,並回顧它,我希望它只是一個錯字:) – 2011-05-25 14:49:21
0
找到最大的差距,並把它放在開始。
- 排序數組
- 查找差距最大的(通過數組循環,找到兩個鄰國之間的最大距離)
- 移動的差距將開始(另一個循環,所有的數字移動)
相關問題
- 1. 調度算法最短作業優先
- 2. 最大值調度算法
- 3. 調整顏色亮度的算法
- 4. 調度算法
- 5. 調度算法
- 6. 調度算法
- 7. 調度算法
- 8. 項目調度基本實例:遺傳算法的染色體
- 9. 最適合的調度算法
- 10. 調度生命的調度算法
- 11. 將段落分解爲跨度
- 12. 哪種調度算法最適合實時調度?
- 13. 時間跨度時間計算,分 - 豪轉換時間跨度爲int
- 14. 算法調度最佳記錄列表
- 15. 返回置信度的分類算法?
- 16. CFQ調度算法
- 17. 如何將(H1 +(跨度))+(H2)變爲(跨度)+(H1)+(H2)...?
- 18. 跨度百分比寬度
- 19. 如何將這個灰度調色板修改爲調色板?
- 20. 如何使用jQuery從跨度最接近的跨度中移除一個類?
- 21. Cordys - 調度算法 - 任務分配
- 22. 算法找到灰度圖像的跨
- 23. 最大寬度100px與寬度100px,爲什麼最大寬度短於寬度?
- 24. 迭代所有最短長度字符串的算法?
- 25. 事件的調度算法
- 26. 比較分類算法複雜度
- 27. 尋找最短分度時間Solr中
- 28. 什麼是計算時間跨度的最佳方法?
- 29. 低精度分類顏色
- 30. 如何將一個類分配給Javascript中的跨度?
你在找什麼樣的答案?有什麼比找到「最大的差距」更好,然後開始呢?更快的解決方案?一個有較小的差距?更優雅的代碼? – Ishtar 2011-04-02 15:24:21