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

热点内容
按摩解压腿部足部 浏览:289
app切图用什么软件 浏览:3
订购命令英语 浏览:659
java正则网址 浏览:777
程序员上班可不可以自学 浏览:428
空调压缩机排空气视频 浏览:283
centos72nginxphp 浏览:184
游戏平台用什么服务器好 浏览:753
保密柜里的图片是加密文件吗 浏览:909
php判断最后一个字符 浏览:635
pdf脑区 浏览:635
at命令已弃用 浏览:490
买点卖出指标源码 浏览:612
36位单片机 浏览:428
英雄联盟山东服务器地址 浏览:213
sd服务器什么意思 浏览:618
thinkphp去indexphp 浏览:62
电脑显示连接未加密 浏览:195
zao服务器怎么修改 浏览:245
php使用jsapi调起支付 浏览:891