当前位置: 首页 > news >正文

网站制作报价表做网站上海公司

网站制作报价表,做网站上海公司,优化官方网站设计,什么是网络设计制作算法进修Day-36 71. 简化路径 难度#xff1a;中等 题目要求#xff1a; 给你一个字符串 path #xff0c;表示指向某一文件或目录的 Unix 风格 绝对路径 #xff08;以 / 开头#xff09;#xff0c;请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中中等 题目要求 给你一个字符串 path 表示指向某一文件或目录的 Unix 风格 绝对路径 以 / 开头请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中一个点.表示当前目录本身此外两个点 .. 表示将目录切换到上一级指向父目录两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠即//都被视为单个斜杠 / 。 对于此问题任何其他格式的点例如...均被视为文件/目录名称。 请注意返回的 规范路径 必须遵循下述格式 始终以斜杠 / 开头。两个目录名之间必须只有一个斜杠 / 。最后一个目录名如果存在不能 以 / 结尾。此外路径仅包含从根目录到目标文件或目录的路径上的目录即不含 . 或 ..。 返回简化后得到的 规范路径 。 示例1 输入path “/home/” 输出“/home” 示例2 输入path “/…/” 输出“/” 示例3 输入path “/home//foo/” 输出“/home/foo” 示例4 输入path “/a/./b/…/…/c/” 输出“/c” 题解 提供两条API内容解释 System.IO.Path.TrimEndingDirectorySeparator(String) 剪裁一个超出指定路径根目录的尾随目录分隔符。 System.IO.Path.GetFullPath(String) 返回指定路径字符串的绝对路径。 想法代码 class Solution {public static void Main(String[] args){string path /../;Solution solution new Solution();string res solution.SimplifyPath(path);Console.WriteLine(res);}public string SimplifyPath(string path){return Path.TrimEndingDirectorySeparator(Path.GetFullPath(path));} }72. 编辑距离 难度困难 题目要求 给你两个单词 word1 和 word2 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作 插入一个字符删除一个字符替换一个字符 示例1 输入word1 “horse”, word2 “ros” 输出3 示例2 输入word1 “intention”, word2 “execution” 输出5 题解 利用动态规划用 m m m 和 n n n 分别表示字符串 w o r d 1 word_1 word1​ 和 w o r d 2 word_2 word2​ 的长度对于满足 1 ≤ i ≤ m 1\leq i\leq m 1≤i≤m 和 1 ≤ j ≤ n 1\leq j\leq n 1≤j≤n 的每个下标对 ( i , j ) (i,j) (i,j)需要分别计算将 w o r d 1 word_1 word1​ 的前 i i i 个字符转换成 w o r d 2 word_2 word2​ 的前 j j j 个字符的最小操作数 创建 ( m 1 ) ∗ ( n 1 ) (m1)*(n1) (m1)∗(n1) 的二维数组 d p dp dp其中 d p [ i ] [ j ] dp[i][j] dp[i][j] 为将 w o r d 1 word_1 word1​ 的前 i i i 个字符转换成 w o r d 2 word_2 word2​ 的前 j j j 个字符的最小操作数 如果 i 0 i0 i0则对于任意 j j j需要将 w o r d 2 word_2 word2​ 的前 j j j 个字符全部删除最少操作数是 j j j如果 j 0 j0 j0则对于任意 i i i需要将 w o r d 1 word_1 word1​ 的前 i i i 个字符全部删除最少操作数是 i i i因此动态规划边界为对于任意 0 ≤ j ≤ n , d p [ 0 ] [ j ] j 0\leq j\leq n, dp[0][j]j 0≤j≤n,dp[0][j]j对于任意 0 ≤ i ≤ m , d p [ i ] [ 0 ] i 0\leq i\leq m, dp[i][0]i 0≤i≤m,dp[i][0]i当然 d p [ 0 ] [ 0 ] 0 dp[0][0]0 dp[0][0]0 当 1 ≤ i ≤ m 1\leq i\leq m 1≤i≤m 且 1 ≤ j ≤ n 1\leq j\leq n 1≤j≤n 时让 c 1 w o r d 1 [ i − 1 ] , c 2 w o r d 2 [ j − 1 ] c_1word_1[i-1], c_2word_2[j-1] c1​word1​[i−1],c2​word2​[j−1]总共分为两种情况 当 c 1 c 2 c_1c_2 c1​c2​将 c 1 c_1 c1​ 和 c 2 c_2 c2​ 成为公共字符将 w o r d 1 word_1 word1​ 的前 i − 1 i-1 i−1 个字符的最小操作数是 d p [ i − 1 ] [ j − 1 ] dp[i-1][j-1] dp[i−1][j−1]所以 d p [ i ] [ j ] d p [ i − 1 ] [ j − 1 ] dp[i][j]dp[i-1][j-1] dp[i][j]dp[i−1][j−1]当 c 1 ≠ c 2 c_1\neq c_2 c1​c2​ 时计算将 w o r d 1 word_1 word1​ 的前 i i i 个字符串转换成 w o r d 2 word_2 word2​ 的前 j j j 个字符的最少操作数时需要考虑三种可能的操作取其中的最小操作数作为 d p [ i ] [ j ] dp[i][j] dp[i][j] 第一种操作是插入字符 c 1 c_1 c1​操作之前的最少操作数是 d p [ i − 1 ] [ j ] dp[i-1][j] dp[i−1][j]操作之后的最少操作数是 d p [ i − 1 ] [ j ] 1 dp[i-1][j]1 dp[i−1][j]1第二种操作是删除字符 c 2 c_2 c2​操作之前的最少操作数是 d p [ i ] [ j − 1 ] dp[i][j-1] dp[i][j−1]操作之后的最少操作数是 d p [ i ] [ j − 1 ] 1 dp[i][j-1]1 dp[i][j−1]1第三种操作是将字符 c 1 c_1 c1​ 替换为 c 2 c_2 c2​操作之前的最少操作数是 d p [ i − 1 ] [ j − 1 ] dp[i-1][j-1] dp[i−1][j−1]操作之后的最少操作数是 d p [ i − 1 ] [ j − 1 ] 1 dp[i-1][j-1]1 dp[i−1][j−1]1 动态规划转移方程如下 d p [ i ] [ j ] { d p [ i − 1 ] [ j − 1 ] , word1[i-1]word2[j-1] m i n ( d p [ i − 1 ] [ j ] , d p [ i ] [ j − 1 ] , d p [ i − 1 ] [ j − 1 ] ) 1 , word1[i-1]!word2[j-1]  dp[i][j]\begin{cases} dp[i-1][j-1],\text{word1[i-1]word2[j-1]}\\min(dp[i-1][j],dp[i][j-1],dp[i-1][j-1])1,\text{word1[i-1]!word2[j-1] } \end{cases} dp[i][j]{dp[i−1][j−1],min(dp[i−1][j],dp[i][j−1],dp[i−1][j−1])1,​word1[i-1]word2[j-1]word1[i-1]!word2[j-1] ​ 根据动态规划转移方程计算 d p [ i ] [ j ] dp[i][j] dp[i][j] 的顺序为从小到大遍历每个 i i i对于每个 i i i 从小到大遍历每个 j j j。最后 d p [ m ] [ n ] dp[m][n] dp[m][n] 即为最少操作数 想法代码 public class Solution {public static void Main(string[] args){Solution solution new Solution();string word1 horse;string word2 ros;Console.WriteLine(solution.MinDistance(word1,word2));}public int MinDistance(string word1, string word2){int m word1.Length, n word2.Length;int[][] dp new int[m 1][];for (int i 0; i m; i){dp[i] new int[n 1];}for (int j 1; j n; j){dp[0][j] j;}for (int i 1; i m; i){dp[i][0] i;}for (int i 1; i m; i){char c1 word1[i - 1];for (int j 1; j n; j){char c2 word2[j - 1];if (c1 c2){dp[i][j] dp[i - 1][j - 1];}else{dp[i][j] Math.Min(Math.Min(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1]) 1;}}}return dp[m][n];} }
http://www.w-s-a.com/news/196371/

相关文章:

  • 简洁大气蓝色文章资讯网站百度搜索广告推广
  • 河南建设工程协会网站网站收银系统建设
  • 网站制作 服务企业网站案例展示
  • 咸宁网站建设wordpress手动降级
  • 昆明做网站建设怎么样做网站赚钱全攻略
  • 企业网站建设实战教程微信如何注册小程序
  • 做一件代发网站百度seo服务
  • 小说网站开发 公司可以做行程的网站
  • 古交市网站建设公司apk连接wordpress
  • 网页 网 址网站区别wordpress菜单居右
  • 网站建设搭建运营一台云服务器做多个网站
  • 用php做网站用什么框架推广网站推荐
  • 如何用二级域名做网站多用户网上商城
  • 河南省建设科技网站浅谈电子商务网站建设与规划
  • 网站空间需要续费青海网站建设推广
  • 网站开发本地环境企业网站建设排名口碑
  • 做新闻的网站怎样赚钱个人网站课程设计报告
  • 网站设计样例那个网站做图片好看
  • 小型公司网站建设深圳网络营销策划有限公司
  • 国内优秀企业网站做视频网站用什么系统
  • 网站建设入门pdfwordpress网站标题
  • 专业网站的定义网站运营的概念
  • 外贸服装网站建设网页美工设计说明书
  • 郑州专业做网站公百度翻译api wordpress
  • 做网站哪里找大学的一级或二级域名
  • 没有静态ip可以做网站服务器上饶网站制作需要多少钱
  • 网站建设wangzhii做国外网站做什么内容
  • 网站建设 搞笑笑话经典 wordpress主题下载
  • 做网站要懂哪些wordpress 站点网络
  • 郑州外贸网站建设公司排名网站设计做啥好