不同路径(数学、动态规划)
一个机器人位于一个 m x n_ _网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径?
示例 1:
输入:m = 3, n = 7
输出:28
示例 2:
输入:m = 3, n = 2
输出:3
解释:从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右
3. 向下 -> 向右 -> 向下
示例 3:
输入:m = 7, n = 3
输出:28
示例 4:
输入:m = 3, n = 3
输出:6
提示:
- 1 <= m, n <= 100
- 题目数据保证答案小于等于 2 * 109
解答:
class Solution {
public int uniquePaths(int m, int n) {
int[][] route = new int[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (i == 0 || j == 0) {
route[i][j] = 1;
} else {
route[i][j] = route[i - 1][j] + route[i][j - 1];
}
}
}
return route[m - 1][n - 1];
}
}
逆序输出(排序)
如:abcd1234,逆序输出:4321dcba
解答:
import java.lang.*;
import java.io.*;
import java.util.*;
class ReverseString {
public static void main(String[] args) {
String input = "abcd1234";
char[] try1 = input.toCharArray();
for (int i = try1.length - 1; i >= 0; i--)
System.out.print(try1[i]);
}
}
分割回文串(字符串、动态规划)
给你一个字符串 s,请你将_ s _分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。
示例 1: 输入:s = "aab" 输出:[["a","a","b"],["aa","b"]] 示例 2: 输入:s = "a" 输出:[["a"]]
提示:
- 1 <= s.length <= 16
- s 仅由小写英文字母组成
解答:
class Solution {
public List<List<String>> partition(String s) {
boolean[][] dp = new boolean[s.length()][s.length()];
for (int len = 1; len <= s.length(); len++) {
for (int i = 0; i <= s.length() - len; i++) {
if (len == 1)
dp[i][i] = true;
else if (s.charAt(i) == s.charAt(i + len - 1) && (len == 2 || dp[i + 1][i + len - 2])) {
dp[i][i + len - 1] = true;
}
}
}
return solution(s, 0, dp);
}
public List<List<String>> solution(String s, int start, boolean[][] dp) {
ArrayList<List<String>> list = new ArrayList<>();
if (start == s.length()) {
List<String> li = new ArrayList<>();
list.add(li);
return list;
}
for (int i = start; i < s.length(); i++) {
if (dp[start][i]) {
String first = s.substring(start, i + 1);
for (List<String> li : solution(s, i + 1, dp)) {
li.add(0, first);
list.add(li);
}
}
}
return list;
}
}
本文内容到此结束了, 如有收获欢迎点赞????收藏????关注✔️,您的鼓励是我最大的动力。 如有错误❌疑问????欢迎各位大佬指出。 主页:共饮一杯无的博客汇总????????
保持热爱,奔赴下一场山海。????????????