導航:首頁 > 編程語言 > 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編程組合類的問題相關的資料

熱點內容
xp系統如何查找伺服器名 瀏覽:983
土的壓縮系數的確定方法 瀏覽:647
程序員家裡健身 瀏覽:620
電視看籃球app哪個好 瀏覽:47
高中畢業當程序員 瀏覽:245
php標簽屬性大全 瀏覽:897
遠程訪問伺服器ip地址 瀏覽:312
程序員吃雞蛋炒菜 瀏覽:173
在哪裡看俄羅斯電視劇app 瀏覽:308
怎麼找資料庫伺服器地址 瀏覽:487
伺服器調試怎麼翻譯 瀏覽:921
php如何處理ajax請求 瀏覽:211
php數組下標存在 瀏覽:707
php獲取ip歸屬地 瀏覽:175
撩女程序員怎麼辦 瀏覽:508
百度伺服器做什麼 瀏覽:193
打開軟體加速伺服器有什麼危害 瀏覽:87
php去除數組下標 瀏覽:794
ipad的app內容哪裡看 瀏覽:284
遇見空間app在哪裡 瀏覽:547