动态规划经典例题,什么是动态规划方法的解题阶段

  

  学习笔记:   

  

  1.视图层:负责格式化数据并呈现给用户,包括数据展示、用户交互、数据验证、界面设计等功能。   

  

  控制层(Controller):负责接收和转发请求,处理请求后,指定视图,将响应结果发送给客户端。   

  

  数据层(模型):模型对象的处理任务最多,是应用程序的主要部分。负责数据逻辑(业务规则)的处理和数据操作的实现(即访问数据库中的数据)。   

  

  2.与此同时,2。SUN公司介绍了JSP技术,同时也介绍了Web应用程序的两种开发模式。也就是JSP JavaBean和Servlet JSP JavaBean。   

  

  在3.JSP JavaBean中,JSP用于处理用户请求,JavaBean用于封装和处理数据。这种模式只有视图和模型,一般把控制器的功能交给视图,适合业务流程相对简单的Web程序。   

  

  4.Servlet JSP JavaBean Servlet用于处理用户请求,JSP用于显示数据,JavaBean用于封装数据,适用于复杂的Web程序。   

  

  5.LRU(最近最少使用)是一种常见的页面替换算法。在计算中,所有的文件操作都必须在内存中进行。然而,计算机内存的大小是固定的,所以我们不可能将所有文件加载到内存中。因此,我们需要制定一个策略来选择添加到内存的文件的输入。   

  

  6.6的设计原则。LRU是指当数据在最近一段时间内被频繁访问时,它在未来也会被频繁访问。这意味着,如果频繁访问的数据,我们需要快速命中它,但不频繁访问的数据,当容量超过限制时,我们必须消除它。   

  

  7.5.最长的回文子串   

  

  给你一个字符串S,求S中最长的回文子串。   

  

  Enter: s='babad '   

  

  输出:“bab”   

  

  说明:‘ABA’也是问题的答案。   

  

  解题思路:用一个二维数组dp[i][j]存储I到J的子串是否为回文。有三种情况dp[i][i]必须为真;当只有一个字符时;当有两个字符时,dp[i][i 1]取决于两个字符是否相等;大于两个字符时,只有当s[i]等于s[j-1]且DP [i] [j-1]的子串状态为真时,DP [i] [j-1]才为真。遍历整个字符串,记录更新后的回文子串的起始坐标和长度,得到最长子串的起始下标和结束下标。   

  

  公共字符串longestPalindrome(String s){ int maxLen=1;int begin=0;int len=s . length();boolean DP[][]=new boolean[len][len];//对于(int i=0,只将一个字符串的大小写设置为trueilenI){ DP[I][I]=true;} char[]charArray=s . tochararray();//枚举for(int L=2的子串L的长度;L=lenL ){ //枚举for(int i=0的左边界;ilenI ){ //右边界可以通过左边界和L int j=1l-1计算出来;if(j=len){ break;} if(charArray[i]!=charArray[j]){ DP[I][j]=false;} else if(j-I 3){ DP[I][j]=true;} else { DP[I][j]=DP[I 1][j-1];} if(DP[I][j]j-I 1 maxLen){ maxLen=j-I 1;begin=I;} } } return s.substring(begin,begin maxLen);}}   

相关文章