为了账号安全,请及时绑定邮箱和手机立即绑定

求一.NET算术算法.

求一.NET算术算法.

饮歌长啸 2018-09-12 05:06:05
求一个NET算术算法,要求在N个数字中,对二个或多个数字做任意组合,使每个组合的值大于99且与99尽量相近,从而产生最多符合条件的组合。例如有数字:30,70,55,60 四个数字,则我们可以直观的看出,30+70组合,55与60组合是最佳组合,产生了两组符合条件(值大于等于99)的组合。其他组合方式则只能产生一组。但当有N个数字的时候,例如20个数值,怎么处理呢~?
查看完整描述

2 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

先说个想法,把N数字从小到大排序,然后最大的加上最小的跟99比较,如果小于99, 就加第二小的

如果大于或等于99,就算一个组合,然后就倒数第二大的加小的,在比较,依此类推

只是个想法,还没写程序。


查看完整回答
反对 回复 2018-09-25
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

二楼的方法是可行的。

优化的方法用:

双向二分查找,后向两边缩放查找。

 

O(nlogn)


查看完整回答
反对 回复 2018-09-25
  • 2 回答
  • 0 关注
  • 531 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信