导航:首页 > 编程语言 > 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编程组合类的问题相关的资料

热点内容
在伴伴app里面怎么拜师傅 浏览:942
编程珠玑笔记 浏览:280
结束命令行 浏览:268
力学原理pdf 浏览:736
宏定义编译后不变 浏览:404
如何搞免费服务器 浏览:212
神经系统pdf 浏览:672
如何查看服务器上的数据库服务器 浏览:195
压缩机型号v代表什么 浏览:58
旅游类源码 浏览:867
电脑服务器类型怎么设置 浏览:235
pdf炒股 浏览:791
服务器地址缺少端口号什么意思 浏览:535
下载需要解压的小说用哪个软件 浏览:539
广东分布式服务器云主机 浏览:588
服务器忙打不开怎么办 浏览:20
tif压缩软件 浏览:418
程序员那么可爱陆漓上班第1天 浏览:952
macbookair自带什么app 浏览:707
如何关了加密的软件 浏览:587