Упражнения на Java: поиск возможных уникальных путей из верхнего левого угла в правый нижний угол указанной сетки
Java Basic: упражнение 136 с решением
Напишите программу на Java, чтобы найти возможные уникальные пути от верхнего левого угла до правого нижнего угла данной сетки (mxn).
Примечание: вы можете двигаться вниз или вправо в любой момент времени.
Пример решения:
Java-код:
public class Solution {
/**
* @param n, m: positive integer (1 <= n ,m <= 100)
* @return an integer
*/
public static int unique_Paths(int m, int n) {
if (m <= 0 || n <= 0) {
return 0;
}
int[][] grid = new int[m][n];
for (int i = m - 1; i >= 0; --i) {
for (int j = n - 1; j >= 0; --j) {
grid[i][j] = get_Paths(grid, i, j);
}
}
return grid[0][0];
}
private static int get_Paths(int[][] grid, int i, int j) {
if (i >= grid.length - 1 || j >= grid[0].length - 1) {
return 1;
}
return grid[i][j + 1] + grid[i + 1][j];
}
public static void main(String[] args) {
int m = 3;
int n = 2;
System.out.println("Unique paths from top-left corner to bottom-right corner of the said grid: "+unique_Paths(m, n));
}
}
Пример вывода:
Уникальные пути от верхнего левого угла до правого нижнего угла указанной сетки: 3
Блок - схема:
Редактор кода Java:
Компания: Bloomberg
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите Java-программу для удаления дубликатов из отсортированного связанного списка.
Далее: Напишите программу на Java, чтобы найти возможные уникальные пути с учетом некоторых препятствий, от верхнего левого угла до нижнего правого угла данной сетки (mxn).
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code