我是如何肉身翻墙,从国内直接来美国工作的?

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
查看: 1550|回复: 5
收起左侧

[动态规划] 一道动态规划题,没思路。

[复制链接] |试试Instant~ |关注本帖
我的人缘0
TsengJuiWang 发表于 2016-4-29 06:55:53 | 显示全部楼层 |阅读模式
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
大家好,我有他一道题没什么思路,请大家帮忙看看,谢谢!https://www.careercup.com/question?id=5268194222669824




上一篇:Linked List Cycle II 的清晰易理解的思路 希望是正确的 欢迎大家指正
下一篇:大家能说说自己平时刷题或学习计划吗
我的人缘0
Christy2013 发表于 2016-5-1 04:48:24 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
特意去CC看了一眼题目,也没看懂。坐等高人解答
回复 支持 1 反对 0

使用道具 举报

全球28万学生4.7分推荐
我的人缘0
ykwwind 发表于 2016-5-1 05:14:07 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
bottom up,
find the min & max in the range[i, j]
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| TsengJuiWang 发表于 2016-5-1 06:03:57 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
我看了一下CC的评论有个人写的我看懂了,和Matrix Multiplication Chain类似
  1. int maximumVal(vector<int> &nums){
  2.     const size_t n = nums.size();
  3.     vector<vector<int>> L(n, vector<int>(n, 0));
  4.     for(int i = 0; i < n; ++i)
  5.         L[i][i] = nums[i];
  6.     for(int len = 2; len <= n; ++len){
  7.         for(int i = 0, j; i < n - len + 1; ++i){
  8.             j = i + len - 1;
  9.             for(int k = i; k < j; ++k)
  10.                 L[i][j] = max(L[i][j], max(L[i][k] + L[k + 1][j], L[i][k] * L[k + 1][j]));
  11.         }
  12.     }
  13.     return L[0][n - 1];
  14. }
复制代码
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| TsengJuiWang 发表于 2016-5-1 06:57:28 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
ykwwind 发表于 2016-5-1 05:14
bottom up,
find the min & max in the range

是不是因为处理负数情况所以才计算min了的?
回复 支持 反对

使用道具 举报

我的人缘0
waikai 发表于 2016-5-1 14:49:55 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
  1. private static int getMax(int[] n) {
  2.                 int[][] dp = new int[n.length][n.length];
  3.                 for (int i = 0; i < n.length; i++) {
  4.                         dp[i][i] = n[i];
  5.                         if (i+1 < n.length) {
  6.                                 dp[i][i+1] = Math.max(n[i]+n[i+1], n[i]*n[i+1]);
  7.                         }
  8.                 }
  9.                 for (int diff = 2; diff < n.length; diff++ ) {
  10.                         for (int start = 0; start+diff < n.length; start++) {
  11.                                 int tmp = Integer.MIN_VALUE;
  12.                                 for (int i = start; i < start+diff; i++) {
  13.                                         int k = Math.max(dp[start][i]+dp[i+1][start+diff], dp[start][i]*dp[i+1][start+diff]);
  14.                                         tmp = Math.max(k, tmp);
  15.                                 }
  16.                                 dp[start][start+diff] = tmp;
  17.                         }
  18.                 }
  19.                 return dp[0][n.length-1];
  20.                
  21.         }
复制代码

貌似是个NP问题啊,n^2复杂度?
回复 支持 反对

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-28 03:44

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表