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

热点内容
linux修改umask 浏览:536
编程锁的发展 浏览:346
唯词app怎么改密码 浏览:72
魔兽世界表情命令 浏览:985
智能还款信用卡源码 浏览:553
zoo文件夹 浏览:762
安卓2k21如何下载 浏览:648
某年某月的天数python 浏览:912
广度优先算法的复杂度 浏览:399
系统重装网站源码 浏览:152
相册加密相片 浏览:297
美国正常化行政命令 浏览:277
中级审计师教材pdf 浏览:696
wps中pdf旋转 浏览:600
getex命令 浏览:190
云闪付和农行卡app怎么授权 浏览:123
羁绊命令 浏览:51
解压视频怪兽大全 浏览:964
最新中华人民共和国预算法 浏览:861
电信dns服务器地址杭州 浏览:506