123
返回列表 发新帖
楼主: jwl2006
跳转到指定楼层
上一主题 下一主题
收起左侧

Snapchat电面

🔗
oldfish 2016-11-4 14:12:44 | 只看该作者
全局:
jwl2006 发表于 2016-11-4 06:33
问的是长度,你的方案可行

有了每个点开始的路径长度 可以很容易用 O(mn) 的复杂度重建路径吧
回复

使用道具 举报

🔗
弱视个体 2016-11-7 21:39:46 | 只看该作者
全局:
楼主拿到onsite了吗
回复

使用道具 举报

🔗
gretchency 2016-11-8 02:15:26 | 只看该作者
全局:
有点没看懂题目 是要返回从高到底排序的所有路径长度?
回复

使用道具 举报

🔗
FTD2014 2016-11-8 10:27:55 | 只看该作者
全局:
  1. public class Solution {
  2.     private int[] dx = {-1, 1, 0, 0};
  3.     private int[] dy = {0, 0, -1, 1};
  4.     public int longestIncreasingPath(int[][] matrix) {
  5.         if(matrix == null || matrix.length == 0 || matrix[0].length == 0) {
  6.             return 0;
  7.         }
  8.         int max = 0;
  9.         int[][] dp = new int[matrix.length][matrix[0].length];
  10.         for(int i = 0; i < matrix.length; i++) {
  11.             for(int j = 0; j < matrix[0].length; j++) {
  12.                 max = Math.max(max, dfs(matrix, i, j, dp));
  13.             }
  14.         }
  15.         return max;
  16.     }
  17.     private int dfs(int[][] matrix, int i, int j, int[][] dp) {
  18.         if(dp[i][j] != 0) {
  19.             return dp[i][j];
  20.         }
  21.         for(int k = 0; k < 4; k++) {
  22.             int x = i + dx[k];
  23.             int y = j + dy[k];
  24.             if(x >= 0 && x < matrix.length && y >= 0 && y < matrix[0].length && matrix[i][j] < matrix[x][y]) {
  25.                 dp[i][j] = Math.max(dp[i][j], dfs(matrix, x, y, dp));
  26.             }
  27.         }
  28.         return ++dp[i][j];
  29.     }
  30. }
复制代码
回复

使用道具 举报

🔗
gretchency 2016-11-14 08:47:36 | 只看该作者
全局:
  1. if(x >= 0 && x < matrix.length && y >= 0 && y < matrix[0].length && matrix[i][j] < matrix[x][y]) {
  2.                 dp[i][j] = Math.max(dp[i][j], dfs(matrix, x, y, dp));
  3.             }
复制代码
感觉这里用不着max比一下,直接 dp[i][j] = dfs();

补充内容 (2016-11-14 08:59):
我的我的 要比一下的 比一下知道四个方向最长可以得到几~
回复

使用道具 举报

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

本版积分规则

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