问题描述
有两个浮点数数组,两个数组的长度不一定相等,两个数组的各项的合计相等。如何能迅速找到两个数组中各项的相等关系,优先找一对一,然后是一对二、一定三……,最后是多对多比如:A={30,20,80}B={20,30,45,35}应该找到:A[1]=B[2]A[2]=B[1]A[3]=B[3]+B[4]
解决方案
解决方案二:
一对一写个join就能得到,二以上除了循环或者递归,我想不出其他办法
解决方案三:
除了一对一的特例外都需要用到Combination(求组合)方法
解决方案四:
我的想法是先找到一对一的,并从A、B中剔除这些项。然后在将剩余从2到n-1组合的合计计算出来再比较,但是感觉也挺繁琐的,有没有简介的算法。引用2楼xuzuning的回复:
除了一对一的特例外都需要用到Combination(求组合)方法
你能写的示例吗
解决方案五:
不久前过个类似的
解决方案六:
//_ooOoo_//o8888888o//88"."88//(|-_-|)//O=/O//____/`---'____//.'\||//`.///\|||:|||/////_|||||-:-|||||-//||\-///||//|_|''---/''||//.-__`-`___/-.///___`..'/--.--`..__//.""'<`.____<|>_/___.'>'"".//||:`-`.;`_/`;.`/-`:||//\`-.___/___/.-`////======`-.____`-.________/___.-`____.-'======//`=---='////.............................................//佛祖镇楼BUG辟易//佛曰://写字楼里写字间,写字间里程序员;//程序人员写程序,又拿程序换酒钱。//酒醒只在网上坐,酒醉还来网下眠;//酒醉酒醒日复日,网上网下年复年。//但愿老死电脑间,不愿鞠躬老板前;//奔驰宝马贵者趣,公交自行程序员。//别人笑我忒疯癫,我笑自己命太贱;//不见满街漂亮妹,哪个归得程序员?
解决方案七:
思路先对2个数组排序升序。方便后期计算int[]a,int[]b;for(i=0,i<a.length.I++){fun1(a[i],b)}fun1(intt1,int[]t2){自己写个函数判断t1是否能数组t2的各种组合如果可以记录下来.out(a和b中的数组组合)}ok了
解决方案八:
动态规划算法