长宁网站建设优化seowordpress高级检索插件

news/2025/10/9 2:13:57/文章来源:
长宁网站建设优化seo,wordpress高级检索插件,网站建设课设总结,可信网站认证费用动态规划的算法题往往都是各大公司笔试题的常客。在不少算法类的微信公众号中#xff0c;关于“动态规划”的文章屡见不鲜#xff0c;都在试图用最浅显易懂的文字来描述讲解动态规划#xff0c;甚至有的用漫画来解释#xff0c;认真读每一篇公众号推送的文章实际上都能读得…   动态规划的算法题往往都是各大公司笔试题的常客。在不少算法类的微信公众号中关于“动态规划”的文章屡见不鲜都在试图用最浅显易懂的文字来描述讲解动态规划甚至有的用漫画来解释认真读每一篇公众号推送的文章实际上都能读得懂都能对动态规划有一个大概了解。   什么是动态规划通俗地理解来说一个问题的解决办法一看就知道穷举但不能一个一个数啊你得找到最优的解决办法换句话说题目中就会出现类似“最多”、“最少”“一共有多少种”等提法这些题理论上都能使用动态规划的思想来求解。动态规划与分治方法类似都是通过组合子问题的解来求解原问题但它对每个子问题只求解一次将其保存在表格中无需重新计算通常用于求解最优化问题——《算法导论》。   编辑距离Edit Distance在本文指的是Levenshtein距离也就是字符串S1通过插入、修改、删除三种操作最少能变换成字符串S2的次数。例如S1  abcS2  abf编辑距离d  1只需将c修改为f。在本文中将利用动态规划的算法思想对字符串的编辑距离求解。   定义S1、S2表示两个字符串S1(i)表示S1的第一个字符d[i, j]表示S1的第i个前缀到S2的第j个前缀例如:S1  ”abc”,S2 ”def”,求解S1到S2的编辑距离为d[3, 3]。   若S1 ”abc”, S2 ”dec”此时它们的编辑距离为d[3, 3]  2观察两个字符串的最后一个字符是相同的也就是说S1(3)  S2(3)不需要做任何变换故S1  ”abc”, S2 ”dec” S1’ ”ab”, S2’ ”de”即当S1[i] S[j]时d[i, j]  d[i-1,j -1]。得到公式d[i, j]  d[i - 1, j - 1] (S1[i]  S2[j])  上面一条得出了当S1[i]  S2[j]的计算公式显然还有另一种情况就是S1[i] ≠ S2[j]若S1 ”abc”, S2 ”def”。S1变换到S2的过程可以“修改”但还可以通过“插入”、“删除”使得S1变换为S2。    1)在S1字符串末位插入字符“f”此时S1  ”abcf”S2 ”def”,此时即S1[i] S2[j]的情况S1变换为S2的编辑距离为d[4, 3] d[3, 2]。所以得出d[i, j]d[i, j - 1]  1。1是因为S1新增了”f”     2)在S2字符串末位插入字符“c”此时S1 ”abc”S2 ”defc”此时即S1[i] S[j]的情况S1变换为S2的编辑距离为d[3, 4] d[2, 3]。所以得出d[i, j]d[i - 1, j]  1实际上这是对S1做了删除。1是因为S2新增了”c”     3)将S1字符串末位字符修改为”f”此时S1 ”abf”S2 ”def”此时即S1[i] S[j]的情况S1变换为S2的编辑距离为d[3, 3] d[2, 2]。所以得出d[i, j]  d[i – 1, j - 1]  1。1是因为S1修改了“c”   综上得出递推公式   不妨用表格表示出动态规划对S1”abc”S2“def”的求解过程。   可以看出红色方块即是最终所求的编辑距离整个求解过程就是填满这个表——二维数组。下面是Java、Python分别对字符串编辑距离的动态规划求解。   Java   1 package com.algorithm.dynamicprogramming;2 3 /**4 * 动态规划——字符串的编辑距离5 * s1 abc, s2 def6 * 计算公式7 * | 0 i 0, j 08 * | j i 0, j 09 * d[i,j] | i i 0, j 010 * | min(d[i,j-1]1, d[i-1,j]1, d[i-1,j-1]) s1(i) s2(j)11 * | min(d[i,j-1]1, d[i-1,j]1, d[i-1,j-1]1) s1(i) ≠ s2(j)12 * 定义二维数组[4][4]13 * d e f d e f14 * |x|x|x|x| |0|1|2|3|15 * a |x|x|x|x| a |1|1|2|3| 编辑距离d [3][3] 316 * b |x|x|x|x| b |2|2|2|3|17 * c |x|x|x|x| c |3|3|3|3|18 *19 * Created by yulinfeng on 6/29/17.20 */21 public class Levenshtein {22 23 public static void main(String[] args) {24 String s1 abc;25 String s2 def;26 int editDistance levenshtein(s1, s2);27 System.out.println(s1 s1 与s2 s2 的编辑距离为 editDistance);28 }29 30 /**31 * 编辑距离求解32 * param s1 字符串s133 * param s2 字符串s234 * return 编辑距离35 */36 private static int levenshtein(String s1, String s2) {37 int i 0; //s1字符串中的字符下标38 int j 0; //s2字符串中的字符下标39 char s1i 0; //s1字符串第i个字符40 char s2j 0; //s2字符串第j个字符41 int m s1.length(); //s1字符串长度42 int n s2.length(); //s2字符串长度43 if (m 0) { //s1字符串长度为0此时的编辑距离就是s2字符串长度44 return n;45 }46 if (n 0) {47 return m; //s2字符串长度为0此时的编辑距离就是s1字符串长度48 }49 int[][] solutionMatrix new int[m 1][n 1]; //求解矩阵50 /**51 * d e f52 * |0|x|x|x|53 * a |1|x|x|x|54 * b |2|x|x|x|55 * c |3|x|x|x|56 */57 for (i 0; i m 1; i) {58 solutionMatrix[i][0] i;59 }60 /**61 * d e f62 * |0|1|2|3|63 * a |x|x|x|x|64 * b |x|x|x|x|65 * c |x|x|x|x|66 */67 for (j 0; j n 1; j) {68 solutionMatrix[0][j] j;69 }70 /**71 * 上面两个操作后求解矩阵变为72 * d e f73 * |0|1|2|3|74 * a |1|x|x|x|75 * b |2|x|x|x|76 * c |3|x|x|x|77 * 接下来就是填充剩余表格78 */79 for (i 1; i m 1; i) { //i 1,j 1, 2, 3以行开始填充80 s1i s1.charAt(i - 1);81 for (j 1; j n 1; j) {82 s2j s2.charAt(j - 1);83 int flag (s1i s2j) ? 0 : 1; //根据公式如果s1[i] s2[j]则d[i,j]d[i-1,j-1]如果s1[i] ≠ s2[j]则其中一个公式为d[i,j]d[i-1,j-1]184 solutionMatrix[i][j] min(solutionMatrix[i][j-1] 1, solutionMatrix[i-1][j] 1, solutionMatrix[i-1][j-1] flag);85 }86 }87 return solutionMatrix[m][n];88 }89 90 /**91 * 根据公式求解编辑距离92 * param insert s1插入操作93 * param delete s1删除操作94 * param edit s1修改操作95 * return 编辑距离96 */97 private static int min(int insert, int delete, int edit) {98 int tmp insert delete ? insert : delete;99 return tmp edit ? tmp : edit; 100 } 101 }   Python3 1 2 动态规划——字符串的编辑距离3 s1 abc, s2 def4 计算公式5 | 0 i 0, j 06 | j i 0, j 07 d[i,j] | i i 0, j 08 | min(d[i,j-1]1, d[i-1,j]1, d[i-1,j-1]) s1(i) s2(j)9 | min(d[i,j-1]1, d[i-1,j]1, d[i-1,j-1]1) s1(i) ≠ s2(j) 10 定义二维数组[4][4] 11 d e f d e f 12 |x|x|x|x| |0|1|2|3| 13 a |x|x|x|x| a |1|1|2|3| 编辑距离d [4][4] 3 14 b |x|x|x|x| b |2|2|2|3| 15 c |x|x|x|x| c |3|3|3|3| 16 17 def levenshtein(s1, s2): 18 i 0 #s1字符串中的字符下标 19 j 0 #s2字符串中的字符下标 20 s1i #s1字符串第i个字符 21 s2j #s2字符串第j个字符 22 m len(s1) #s1字符串长度 23 n len(s2) #s2字符串长度 24 if m 0: 25 return n #s1字符串长度为0此时的编辑距离就是s2字符串长度 26 if n 0: 27 return m #s2字符串长度为0此时的编辑距离就是s1字符串长度 28 solutionMatrix [[0 for col in range(n 1)] for row in range(m 1)] #长为m1宽为n1的矩阵 29 30 d e f 31 |0|x|x|x| 32 a |1|x|x|x| 33 b |2|x|x|x| 34 c |3|x|x|x| 35 36 for i in range(m 1): 37 solutionMatrix[i][0] i 38 39 d e f 40 |0|1|2|3| 41 a |x|x|x|x| 42 b |x|x|x|x| 43 c |x|x|x|x| 44 45 46 for j in range(n 1): 47 solutionMatrix[0][j] j 48 49 上面两个操作后求解矩阵变为 50 d e f 51 |0|1|2|3| 52 a |1|x|x|x| 53 b |2|x|x|x| 54 c |3|x|x|x| 55 接下来就是填充剩余表格 56 57 for x in range(1, m 1): 58 s1i s1[x - 1] 59 for y in range(1, n 1): 60 s2j s2[y - 1] 61 flag 0 if s1i s2j else 1 62 solutionMatrix[x][y] min(solutionMatrix[x][y-1] 1, solutionMatrix[x-1][y] 1, solutionMatrix[x-1][y-1] flag) 63 64 return solutionMatrix[m][n] 65 66 def min(insert, delete, edit): 67 tmp insert if insert delete else delete 68 return tmp if tmp edit else edit 69 70 s1 abc 71 s2 def 72 distance levenshtein(s1, s2) 73 print(distance)   转载于:https://www.cnblogs.com/yulinfeng/p/7096882.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么知道网站有没有被收录嘉定西安网站建设

1、 文档目标 对 JTAG 接口有更多的认识,在遇到关于 JTAG 接口问题时有一些排查的思路。 2、 问题场景 在使用调试器过程时,免不了要接触到 JTAG 接口,当出现连接不上时,就不知道从哪来进行排查。 3、软硬件环境 1 软件版本&am…

广西住房和城乡建设厅网站证件谷歌推广怎么样

Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节…

公司网站建设怎么计费2021跨境电商最火的产品

目录 一、v-show二、v-if2.1 基本使用2.2 条件渲染分组2.3 与 v-else-if、v-else 结合使用 三、v-if vs v-show四、测试案例 本节条件渲染所涉及到的指令有: v-showv-ifv-else-ifv-else 一、v-show 1. 用法: 语法: v-show" 表达式"&#xff…

做搜狗网站点击WordPress图片上传最大尺寸

第一段 第二段 实现思路 通过 GestureDetector 的 Drag 方法,动态改变Dialog的高度,通过设置一个最大高度和最小高度分成两层进行展示 实现 常用的展示BottomSheet的方法为 showModalBottomSheet /// 设置最高最好以高度的比例进行设置,方…

12388网站建设管理情况PHP网站开发与管理设计心得

基本使用TortoiseGit 操作本地仓库(分支) 分支的概念 几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,避免影响开发主线。多线程开发,可以同时开启多个任务的开发,多个任务之间互不影响。 为何要…

莒南做网站网站建设技术的实现

第十三题讲解人:张小龙 8.23邮箱:2304940425qq.com一.什么是final?final是java中的一个关键字,可以用来修饰变量、方法和类。用关键词final修饰的域成为最终域。用关键词final修饰的变量一旦赋值,就不能改变&…

做网站的如何找业务常州网上车管所

在 Web.config 中创建数据库连接串我们需要在网站的配置文件中增加一些行&#xff0c;以便 Entity Framework 知道如何连接到我们的数据库&#xff0c;双击Web.config 文件。 卷到文件的最后&#xff0c;然后增加一个 <connectionStrings> 的配置节&#xff0c;如何所示&…

嘉兴网站建设企业网站制作军事新闻大事

原标题&#xff1a;2018河南高考一分一段统计表&#xff0c;查排名必备&#xff01;&#xff1a;点击这里信息省招办公布了2018年普通高招分数段统计表&#xff0c;对每个分数段有多少考生进行了详细统计。你考了多少分&#xff1f;处在哪个位置&#xff1f;快来看看&#xff0…

网站访问量过大jsp网站开发制作

在医疗器械行业找工作&#xff0c;有些JD上会明确要求熟悉相关的医疗器械法规和标准&#xff0c;比如&#xff1a;ISO13485、NMPA、CE、IEC62304、IEC60601、IEC14971等等&#xff0c;根据这些我来简单总结下&#xff1a; ISO 13485&#xff08;医疗器械质量管理体系&#xff0…

2025年R系列斜齿轮减速机厂家最新推荐:R系列斜齿轮减速机/F系列平行轴齿轮减速机/K系列螺旋斜齿轮减速机/S系列蜗轮减速机实力厂家精准传动解决方案

在工业自动化蓬勃发展的今天,减速机作为机械传动系统的核心部件,其性能优劣直接影响设备运行效率与稳定性。R系列斜齿轮减速机凭借结构紧凑、传动效率高、承载能力强等优势,已成为工业设备升级换代的首选传动方案。…

什么网站专做外贸dedecms wap网站模板下载

原帖由 WHITLACK 于 2009-9-28 08:48 发表 针对某个文件&#xff0c;如何设置权限&#xff0c;可以禁止删除&#xff1f;文件权限的r-w-x好像不能禁止删除的啊&#xff0c;谢谢指教&#xff01;1:使用粘滞位可以做到,下面是介绍.强制位与冒险位、粘滞位针对u&#xff0c;g&…

电商网站功能介绍vs做网站怎么放视频

这几天看dronekit&#xff0c;做无人机失控保护。 PX4官网上的经典案例&#xff0c;我做了很多注解&#xff0c;把代码过了一遍。 无人机具体执行了&#xff1a; 先起飞&#xff0c;飞至正上空10m->向北移动10m->向东移动10m->向南移动10m->向西移动10m->回到初…

2025化工泵厂家权威推荐榜:磁力泵/多级泵/高温泵/混流泵/浆液泵/螺杆泵/陶瓷泵/脱硫泵/旋涡泵/液下泵/轴流泵/自吸泵厂家,高效节能与耐用品质实力之选

在化工行业高质量发展的背景下,化工泵作为生产流程中的核心装备,其性能表现直接关系到生产效率和运营成本。随着环保政策趋严和节能要求提升,高效节能与耐用品质已成为化工泵选型的关键指标。为帮助行业用户筛选优质…

深圳最好的网站建设公司哪家好做网站网站的推广是不是犯罪的

掌握&#xff1a;消息队列机制、打开/创建消息队列、发送消息、接收消息 1 消息队列 消息队列是System V IPC对象的一种 消息队列由消息队列ID来唯一标识 消息队列就是一个消息的列表。用户可以在消息队列中添加消息、读取消息等 消息队列可以按照类型来发送/接收消息 消…

建站公司电话淘宝店铺做网站收录

原标题&#xff1a;9针rs232串口接线图以及接线方法九针串口即RS-232接口&#xff0c;个人计算机上的通讯接口之一&#xff0c;由电子工业协会(Electronic Industries AssociaTIon&#xff0c;EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (…

做国内打不开的网站现在帮人做网站赚钱吗

What’s more 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 2020级数据库系统 实验五 山东大学 2020级数据库系统 实验六 山东大学 2020级数据库系统 实验七 山东大学 20…

最便宜的货源网站大全2级a做爰片免费网站

全卷积神经网络FCN整体概述 FCN是首个端对端针对像素级预测的全卷积网络。FCN会用到分类网络作为backbone FCN的网络结构类比分类网络 分类网络经过卷积操作后&#xff0c;接全连接层&#xff0c;最后一个全连接层输出长度与分类类别数量相同&#xff0c;最后经过softmax得到术…

宝安品牌网站制作江苏外协机械加工网

介绍 上一节中&#xff0c;我们介绍了protobuf&#xff0c;简单来说&#xff0c;它是一种消息数据格式&#xff0c;其作用类似于json&#xff0c;但是比json的使用效率要高。 除此以外&#xff0c;我们介绍了protobuf的简单使用&#xff0c;也就是如何可以像使用json一样&…

车票网站模板网站建设项目经验怎么写

一、CS与BS的差异 二、Tomcat Tomcat :web container 可执行文件目录 配置文件 部署项目的一个文件夹&#xff08;现在不怎么用这种方法&#xff09; 在webapp中&#xff0c;可以创建自己的web项目&#xff1a; 里面需要包含一个文件夹&#xff1a;WEB-INF以及自己的网页 之后…

网站官网建设方案网站开发技术历史

幂级数和幂级数的和函数有什么关系&#xff1f; 本文例子引用自&#xff1a;80_1幂级数运算&#xff0c;逐项积分、求导【小元老师】高等数学&#xff0c;考研数学 求幂级数 ∑ n 1 ∞ 1 n x n \sum\limits_{n1}^{\infty}\frac{1}{n}x^n n1∑∞​n1​xn 的和函数 &#xff…