導航:首頁 > 編程語言 > c編程組合類的問題

c編程組合類的問題

發布時間:2023-08-26 02:20:40

A. 求C演算法,排列組合問題。

先對M個數排序,再定位沒個數距離最近的參考點的差值,對差值排序(此步驟要比M隨機抽取N要節約很多時間復雜度),找出最小差值的N個點。再定位N個數(避免了從M個中抽取N個的隨機組合) 。

對你的問題我有個疑問,我覺得有個歧義
1、是要隨機抽取N個數一次(注意是一次),然後找到剩餘的M-N個數對這N個數的最小參考差值?
2、還是抽取N個數多次(注意是多次,假如M=4,N=1,就必須抽取4次),然後分別找出每次的最小參考差值(多個,M=4,N=1的時候就是有4個最小參考差值)比較,找到最小的參考差值?
是問題1還是問題2
如果是問題1:那麼只需要隨機抽取一次,不論有多少種抽取可能,你都不用去管,那就是先排序,再抽N個數(只抽一次),找最小差值。
如果是問題2:那麼為了避免抽取多次,需要先排序,再比較排序後的所有相鄰的數的差值存入另外數組,(例如4(M=9)個數1,3,5,9 ,17,26,36,47,48。則差值為2,2,4,8,9,10,11,1存入數組,如果你要抽取的數N是1,那麼最小差值一定是1,如果你要抽取的N是2,那麼最小差值是1+2是3,如果你要抽取的N是3則最小差值是1+2+2=5(拿1,5,18),這里有個需要注意的地方:不能拿差值連續的3個數字,比如你要抽取的N是4的時候你想去拿1+2+2+4是不可以的,只能抽出連續的3個數字(2,2,4)中的最大值不要換成另外的最小值,即拿1+2+2+8,這個是原因你可以自己列例子試想下(因為不太好說清楚),此處可看成一段分析結束。)繼續下一段分析(當你要拿的數N > (M-1)-[(M-1)/3]的時候需的分析方法(M-1)代表M個數有多少差值,3是因為你不能拿連續的3個差值數,) 未完待續

閱讀全文

與c編程組合類的問題相關的資料

熱點內容
php存儲過程返回值 瀏覽:837
模板匹配演算法介紹 瀏覽:523
編程語言麻煩的代碼 瀏覽:134
icloud通訊錄如何導出到安卓 瀏覽:742
單片機做mp3 瀏覽:323
聯通營業廳app在哪裡人工服務 瀏覽:941
三相用電功率與導線的演算法公式 瀏覽:911
javapost編碼 瀏覽:529
雲伺服器巡檢表 瀏覽:671
androidapk無法啟動 瀏覽:245
安卓禁止應用安裝怎麼打開 瀏覽:694
hasp加密狗卸載 瀏覽:479
郵箱無法連接發件伺服器怎麼辦 瀏覽:317
手機打電話如何加密號碼 瀏覽:302
浪潮伺服器進pxe按什麼鍵 瀏覽:4
小能錄屏的伺服器地址是什麼意思 瀏覽:676
android文件操作許可權 瀏覽:599
華為演算法工程師面試題 瀏覽:945
雲開發和伺服器有什麼區別 瀏覽:128
鋼材的價格演算法 瀏覽:663