求助算法大神 一个关于矩阵最值的问题

Nevereverever 2017-03-10 10:02:01
一个由实际项目中抽象出的问题:
现有一个m*n、由正整数组成的矩阵及一个1*n的初始值为0的数组[a1...an],现要求在矩阵的每一行中选取一个元素,该元素在第几列就累加到a数组中第几个数上(例如在第一行选第二个数,则将该元素累加到a2上),这样选取m次之后得到累加后的数组a,要求怎么选择矩阵中的元素,使数组a中的最大者最小
例如矩阵
10 20 18
15 17 5
3 12 9
第一行选择10,第二行选择5,第三行选择12,这样数组a为[10 12 5],最大值为12 此时达到要求
若采用其他选法如
第一行选择18,第二行选择5,第三行选择12,这样数组a为[0 12 23],最大值为23 23>12,则不是最优选法

求大神告知思路方法!万分感谢!
...全文
273 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanta 2017-04-25
  • 打赏
  • 举报
回复
循环吧,然后求最小值,复杂度较高。
FancyMouse 2017-03-11
  • 打赏
  • 举报
回复
没啥好办法。如果矩阵只有两列,每行两个元素相同,那就退化到子集求和了。NPC。 既然是实际项目那就看是不是值域有特点,是不是对最优性没有严格要求,等等去做针对性优化了。
掌握数据结构和算法,可称为算法工程师!这是成为架构师的基础,有Google算法大神亲授。我保证你可以写出时空复杂度都很优的架构。有人专门答疑哟!你想要成为架构工程师吗?立即点击报名按钮吧!北上广容不下肉身,三四线放不下灵魂,程序员里没有穷人,有一种土豪叫 算法工程师。程序 = 数据结构 + 算法程序是为了解决实际问题而存在的。然而为了解决问题,必定会使用到某些数据结构以及设计一个解决这种数据结构的算法。如果说各种编程语言是程序员的招式,那么数据结构和算法就相当于程序员的内功。编程实战算法,不是念PPT,我们讲的就是实战与代码实现与企业应用。程序 = 数据结构 + 算法           ——图灵奖得主,计算机科学家N.Wirth(沃斯)作为程序员,我们做机器学习也好,做python开发也好,java开发也好。有一种对所有程序员无一例外的刚需 —— 算法与数据结构日常增删改查 + 粘贴复制 + 搜索引擎可以实现很多东西。同样,这样也是没有任何竞争力的。我们只可以粘贴复制相似度极高的功能,稍复杂的逻辑没有任何办法。语言有很多,开发框架更是日新月异3个月不学就落后我们可以学习很多语言,很多框架,但招聘不会考你用5种语言10种框架实现同一个功能。真正让程序员有区分度,企业招聘万年不变的重点 —— 算法与数据结构。算法代表程序员水平的珠穆朗玛。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧