个人建网站步骤wordpress+订单号位数
news/
2025/10/5 16:23:06/
文章来源:
个人建网站步骤,wordpress+订单号位数,社交网站的设计,网站规划与设计案例目录 单词搜索#xff08;搜索#xff09;
题目解析
讲解算法原理
编写代码
杨辉三⻆#xff08;动态规划#xff09;
题目解析
讲解算法原理
编写代码 单词搜索#xff08;搜索#xff09;
题目解析
1.题目链接#xff1a;单词搜索_牛客题霸_牛客网
2.题目描…目录 单词搜索搜索
题目解析
讲解算法原理
编写代码
杨辉三⻆动态规划
题目解析
讲解算法原理
编写代码 单词搜索搜索
题目解析
1.题目链接单词搜索_牛客题霸_牛客网
2.题目描述 描述 给出一个二维字符数组和一个单词判断单词是否在数组中出现 单词由相邻单元格的字母连接而成相邻单元指的是上下左右相邻。同一单元格的字母不能多次使用。 数据范围 0 行长度 100 0 列长度 100 0 单词长度 1000 例如 给出的数组为[XYZE,SFZS,XDEE]时 对应的二维字符数组为 若单词为XYZZED时应该返回 true 也即 若单词为SEE时应该返回 true 也即 若单词为XYZY时应该返回 false。 示例1 输入 [XYZE,SFZS,XDEE],XYZZED 返回值 true 示例2 输入 [XYZE,SFZS,XDEE],SEE 返回值 true 示例3 输入 [XYZE,SFZS,XDEE],XYZY 返回值 false 讲解算法原理
解法 算法思路 简单深搜应⽤题~
编写代码
c算法代码
class Solution
{int m, n;bool vis[101][101] { 0 };int dx[4] {0, 0, 1, -1};int dy[4] {1, -1, 0, 0};
public:bool exist(vectorstring board, string word) {m board.size(), n board[0].size();for(int i 0; i m; i){for(int j 0; j n; j){if(board[i][j] word[0]){if(dfs(board, i, j, word, 0)) return true;}}}return false;}bool dfs(vectorstring board, int i, int j, string word, int pos){if(pos word.size() - 1){return true;}vis[i][j] true;for(int k 0; k 4; k){int a i dx[k], b j dy[k];if(a 0 a m b 0 b n !vis[a][b] board[a][b] word[pos 1]){if(dfs(board, a, b, word, pos 1)) return true;}}vis[i][j] false;return false;}
};
java算法代码
import java.util.*;
public class Solution
{int m, n;int[] dx {0, 0, 1, -1};int[] dy {1, -1, 0, 0};boolean[][] vis;char[] word;public boolean exist (String[] board, String _word){m board.length;n board[0].length();vis new boolean[m][n];word _word.toCharArray();for(int i 0; i m; i){for(int j 0; j n; j){if(board[i].charAt(j) word[0]){if(dfs(board, i, j, 0) true) return true;}}}return false;}public boolean dfs(String[] board, int i, int j, int pos){if(pos word.length - 1){return true;}vis[i][j] true;for(int k 0; k 4; k){int x i dx[k], y j dy[k];if(x 0 x m y 0 y n !vis[x][y]
board[x].charAt(y) word[pos 1]){if(dfs(board, x, y, pos 1)) return true;}}vis[i][j] false;return false;}
} 杨辉三⻆动态规划
题目解析
1.题目链接杨辉三角_牛客题霸_牛客网
2.题目描述 描述 KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣他想知道杨辉三角的前n行请编程帮他解答。杨辉三角本质上是二项式(ab)的n次方展开后各项的系数排成的三角形。其性质包括每行的端点数为1 一个数也为1每个数等于它左上方和上方的两数之和。 输入描述 第一行包含一个整数数n。 (1≤n≤30) 输出描述 包含n行为杨辉三角的前n行每个数输出域宽为5。 示例1 输入 6 输出 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 讲解算法原理
解法 算法思路 最基础的dp模型按照规律模拟出来杨辉三⻆即可。
编写代码
c算法代码
#include iostream
using namespace std;
int dp[31][31];
int main()
{int n;cin n;dp[1][1] 1;for(int i 2; i n; i){for(int j 1; j i; j){dp[i][j] dp[i - 1][j] dp[i - 1][j - 1];}}for(int i 1; i n; i){for(int j 1; j i; j){printf(%5d, dp[i][j]);}printf(\n);}return 0;
}
java算法代码
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main
{public static void main(String[] args) {Scanner in new Scanner(System.in);int n in.nextInt();int[][] dp new int[n 1][n 1];dp[1][1] 1;for(int i 2; i n; i){for(int j 1; j i; j){dp[i][j] dp[i - 1][j] dp[i - 1][j - 1];}}for(int i 1; i n; i){for(int j 1; j i; j){// dp[i][j]StringBuffer ret new StringBuffer();int len Integer.toString(dp[i][j]).length();for(int k 0; k 5 - len; k){ret.append( );}System.out.print(ret.toString() dp[i][j]);}System.out.println();}}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928458.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!