Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.66 KB | None | 0 0
  1. // Unique Paths
  2. //Runtime: 0 ms, faster than 100.00% of Java online submissions for Unique Paths.
  3. //Memory Usage: 32.8 MB, less than 5.10% of Java online submissions for Unique Paths.
  4.  
  5. class Solution {
  6.     public int uniquePaths(int m, int n) {
  7.  
  8.         int[][] matrix = new int[n][m];
  9.  
  10.         for (int i = 0; i < n; i++) {
  11.             for (int j = 0; j < m; j++) {
  12.                 if (i == 0 || j == 0) matrix[i][j] = 1;
  13.                 else {
  14.                     matrix[i][j] = matrix[i - 1][j] + matrix[i][j - 1];
  15.                 }
  16.             }
  17.         }
  18.  
  19.         return matrix[n - 1][m - 1];
  20.     }
  21. }
  22.  
  23. // Unique Paths II
  24. //Runtime: 0 ms, faster than 100.00% of Java online submissions for Unique Paths II.
  25. //Memory Usage: 38 MB, less than 100.00% of Java online submissions for Unique Paths II.
  26.  
  27. class Solution {
  28.     public int uniquePathsWithObstacles(int[][] obstacleGrid) {
  29.         int n = obstacleGrid.length;
  30.         int m = obstacleGrid[0].length;
  31.  
  32.         int[][] matrix = new int[n][m];
  33.  
  34.         for (int i = 0; i < n; i++) {
  35.             if (obstacleGrid[i][0] == 1) {
  36.                 matrix[i][0] = 0;
  37.                 break;
  38.             }
  39.             matrix[i][0] = 1;
  40.         }
  41.  
  42.         for (int j = 0; j < m; j++) {
  43.             if (obstacleGrid[0][j] == 1) {
  44.                 matrix[0][j] = 0;
  45.                 break;
  46.             }
  47.             matrix[0][j] = 1;
  48.         }
  49.  
  50.         for (int i = 1; i < n; i++) {
  51.             for (int j = 1; j < m; j++) {
  52.                 matrix[i][j] = obstacleGrid[i][j] == 1 ? 0 : matrix[i - 1][j] + matrix[i][j - 1];
  53.             }
  54.         }
  55.  
  56.         return matrix[n - 1][m - 1];
  57.     }        
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement