题解列表

筛选

优质题解

最长公共子序列--动态规划

###解题思路:子序列的问题一般运用动态规划,又由于涉及到两个字符串,所以使用二维dp数组确定了方法后就是经典的动归五部曲了:-**明确dp数组的定义**:dp[i][j]以x[1~i]的字符串和以y[1~j]的字符串的LCS-**确定状态转移方程**:**依旧是数学归纳法的思想,
优质题解

拦截导弹--(最长升序子序列)--动态规划

###解题思路:**子序列问题一般会想到动态规划和滑动窗口,关键在于是否一定连续,如果子序列一定连续那么一般就用滑动窗口,我一般喜欢称为子串,反之则一般用动态规划**实际上这题就是经典动归题目[最长升序子序列](https://leetcode-cn.com/problems/longest-incr

明明的随机数-三种解法

摘要:参考代码:public void reorder1() {     Scanner sc = new Scanner(System.in);     int n = sc.nextInt(); ……

最长公共子序列(java)

可通过画二维数组结合公式做此题-先创建二维数组arr,arr[i][0]和arr[0][j]置为0-二维数组的行和列看作要比的字符串,从1开始-遍历二维数组,对各个字符串进行比较-**字符串相同:拿对应数组斜线值+1:c[i][j]=c[i-1][j-1]+1;**-**不同:就比较左边和上边值大小:

T1255-迷宫问题--BFS最短路径输出

摘要:解题思路: 这个题目和[2178题 走迷宫](https://www.dotcpp.com/oj/problem2177.html "2178题")类似,可以参考我的上个题解[(2177: 信息学……

bfs广度遍历 (java)

bfs(广度遍历)可求最短路径,dfs(深度遍历)可求最远路径```importjava.util.LinkedList;importjava.util.Scanner;//通过node节点记录最短路径publicclassMain{staticchar[][]map=null;publicstati

2177: 信息学奥赛一本通T1252-走迷宫--图的广度优先搜索

解题思路:图的广度优先算法树是一个特殊的图,图的广度优先遍历类似于树的层次遍历;而图和树最大的不同就是图可能有环所以需要一个visited数组来标记结点是否被访问过参考代码:```javaimportjava.util.ArrayDeque;importjava.util.Queue;importja

拦截导弹(java) --最长上升子序列

最长上升子序:是指一个序列中最长的单调递增的子序列,不是必须要连续.####**思路:****最长上升子序**:核心的解题思想就是从前到后扫描数组,并在对每一个元素扫描时,利用动态规划思想确定到当前下标位置的最长上升子序列。这里需要注意的是因为上升子序列不是必须要连续,