楼主: he2004365
跳转到指定楼层
上一主题 下一主题
收起左侧

狗家惨痛跪经

 
🔗
attar 2020-9-29 00:53:30 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 2大米 +3 收起 理由
40fs + 1 画的图好棒
ND0406 + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
ND0406 2020-9-29 01:05:55 来自APP | 只看该作者
全局:
attar 发表于 2020-09-28 09:53:30
这道题跟巴四不一样的地方就是乘数之一是窗口里的min, 八四的窗口止于min_val.

你这么说,又提供了另外一个思路。
啊!这样做就对了。greedy优先延展边界上最大的那一边,这样确实ok 感谢

评分

参与人数 1大米 +2 收起 理由
attar + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
attar 2020-9-29 01:16:52 | 只看该作者
全局:
ND0406 发表于 2020-9-28 09:05
啊!这样做就对了。greedy优先延展边界上最大的那一边,这样确实ok 感谢

这么做,这道题难度就变easy档了
那follow up呢, 这个就不行了。
楼主都说了单调递增栈,应该是面试官提示的吧
我也没想清楚单调递增栈怎么做


回复

使用道具 举报

🔗
ND0406 2020-9-29 01:18:58 | 只看该作者
全局:
attar 发表于 2020-9-29 01:16
这么做,这道题难度就变easy档了
那follow up呢, 这个就不行了。
楼主都说了单调递增栈,应该是面试官 ...

不不不, follow up有时候 就是另外一个解题思路了 不一定一定要用一样的数据结构呀 算法啊之类的

评分

参与人数 1大米 +2 收起 理由
attar + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
mylarryshell 2020-10-13 01:58:52 | 只看该作者
全局:

面4可以没有design
回复

使用道具 举报

🔗
sooyaaa 2020-10-14 13:37:08 | 只看该作者
全局:
oumizx 发表于 2020-9-25 11:42
可以解释下left和right数组代表什么吗?谢谢啦!
明白了,这个方法真的巧妙。

你咋就明白了?求指教 这个left是什么啊??那接下来怎么做呢?感谢感谢!
回复

使用道具 举报

🔗
40fs 2020-10-21 05:05:32 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
oumizx 2020-10-21 17:20:32 | 只看该作者
全局:
sooyaaa 发表于 2020-10-14 13:37
你咋就明白了?求指教 这个left是什么啊??那接下来怎么做呢?感谢感谢!
  1. public class Main {
  2.    
  3.     public int solution(int[][] matrix) {
  4.         int rows = matrix.length;
  5.         int cols = matrix[0].length;
  6.         int[][] dp = new int[rows][cols];
  7.         for (int i = 0; i < cols; i++) {
  8.             dp[0][i] = matrix[0][i];
  9.         }
  10.         
  11.         for (int i = 1; i < rows; i++) {
  12.             int[] left = new int[cols];
  13.             int[] right = new int[cols];
  14.             left[0] = dp[i - 1][0];
  15.             for (int j = 1; j < cols; j++) {
  16.                 left[j] = Math.max(left[j - 1] - 1, dp[i - 1][j]);
  17.             }
  18.             right[cols - 1] = dp[i - 1][cols - 1];
  19.             for (int j = cols - 2; j >= 0; j--) {
  20.                 right[j] = Math.max(right[j + 1] - 1, dp[i - 1][j]);
  21.             }
  22.             
  23.             for (int j = 0; j < cols; j++) {
  24.                 dp[i][j] = Math.max(left[j], right[j]);
  25.                 dp[i][j] += matrix[i][j];
  26.             }
  27.         }
  28.         
  29.         int res = Integer.MIN_VALUE;
  30.         for (int i = 0; i < cols; i++) {
  31.             res = Math.max(res, dp[rows - 1][i]);
  32.         }
  33.         
  34.         return res;
  35.     }
  36.    
  37.     public static void main(String[] args) {
  38.         Main solution = new Main();
  39.         int[][] input = new int[][]{{4, 2, 3, 7}, {5, 7, 4, 4}};
  40.         System.out.println(solution.solution(input));
  41.     }
  42. }
复制代码

评分

参与人数 6大米 +7 收起 理由
shchen0808 + 1 很有用的信息!
57659 + 1 给你点个赞!
user2198M + 1 给你点个赞!
fernando + 2 牛逼
fengya + 1 欢迎分享你知道的情况,会给更多积分奖励!

查看全部评分

回复

使用道具 举报

🔗
sooyaaa 2020-10-22 01:16:53 | 只看该作者
全局:
oumizx 发表于 2020-10-21 01:20
[mw_shl_code=java,true]public class Main {
   
    public int solution(int[][] matrix) {

太感谢了!懂了懂了 给你加米米哈哈👍
回复

使用道具 举报

🔗
northwest 2020-11-10 09:37:02 | 只看该作者
全局:
楼主请问第五轮有类似的利口题目吗?谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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