编辑距离
给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。

你可以对一个单词进行如下三种操作:

插入一个字符
删除一个字符
替换一个字符
示例 1:

输入: word1 = “horse”, word2 = “ros”
输出: 3
解释:
horse -> rorse (将 ‘h’ 替换为 ‘r’)
rorse -> rose (删除 ‘r’)
rose -> ros (删除 ‘e’)
示例 2:

输入: word1 = “intention”, word2 = “execution”
输出: 5
解释:
intention -> inention (删除 ‘t’)
inention -> enention (将 ‘i’ 替换为 ‘e’)
enention -> exention (将 ‘n’ 替换为 ‘x’)
exention -> exection (将 ‘n’ 替换为 ‘c’)
exection -> execution (插入 ‘u’)

解释: 用dp[i + 1][j+1]来表示字符串a的0~i 转换为字符串b的0~j最少操作数可知存在下列两种关系, 代表匹配与不匹配时递推式.
dp[i + 1][j + 1] = dp[i][j];
dp[i + 1][j + 1] = min(dp[i][j], min(dp[i + 1][j], dp[i][j + 1])) + 1;

笔试时, 怎么也没想到动态规划, 一直想着求出两个字符串的最长相同序列, 太久没碰算法了, 思维弱了好多, 得刷题

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;int minDistance(string word1, string word2) {int len1 = word1.length(), len2 = word2.length();vector<vector<int>> dp(len1 + 1, vector<int>(len2 + 1, 0));for (int i = 1; i <= len1; i++)dp[i][0] = i;for (int j = 1; j <= len2; j++)dp[0][j] = j;for (int i = 0; i < len1; i++){for (int j = 0; j < len2; j++){if (word1[i] == word2[j]){dp[i + 1][j + 1] = dp[i][j];}else{dp[i + 1][j + 1] = min(dp[i][j], min(dp[i + 1][j], dp[i][j + 1])) + 1;}}}return dp[len1][len2];
}int main()
{ios::sync_with_stdio(false);string a, b;cin >> a >> b;cout << minDistance(a, b);}

编辑距离_Leetcode, 远景智能笔试题相关推荐

  1. 小米校园招聘笔试题--括号智能纠错

    一 问题描述: 二 解题思路: 因为要对括号序列进行插入操作,所以选择链表作为序列的数据结构,在判断括号序列是否合法时,要用到堆栈,所以选择堆栈用以存放左半括号 三 代码: /* This is a ...

  2. 【笔试题】2019海康威视嵌入式软件开发工程师(多媒体智能应用)笔试题(附超详细解答)

    与嵌入式软件开发工程师(BSP)的题目类型来说,多媒体&智能应用的笔试题在前面的选择题上类型差不多,主要是两条简答题.前者是偏向于Linux驱动方面,后者是偏向于视频/音频的采集或者编码方面. ...

  3. 2014-百度 阿里 华为笔试题

    8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的     i .每次从通里面拿出来两个球:     ii.如果取出的是两 ...

  4. 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析

    最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面拿 ...

  5. 百度 阿里 华为 腾讯 谷歌面试笔试题及解析

    8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的     i .每次从通里面拿出来两个球:     ii.如果取出的是两 ...

  6. 【转】2014百度 阿里 华为 腾讯 谷歌面试笔试题及解析

    原文: http://www.cnblogs.com/JuneWang/p/3773880.html 已知memcpy的函数为: void* memcpy(void *dest , const voi ...

  7. 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析 (转)

    原文地址:http://m.blog.csdn.net/blog/panfengyun12345/12618453 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有 ...

  8. 程序员必看 c++笔试题汇总

    ①链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题.比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3-& ...

  9. 剑指Offer——当当+搜狐+好未来笔试题+知识点总结

    剑指Offer--当当+搜狐+好未来笔试题+知识点总结 情景回想 时间:2016.9.21 15:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:当当笔试.搜狐笔试.好未来笔试 3 ...

最新文章

  1. php职能等级,php如何设置报错级别
  2. python中image.open函数怎么用_详解Python中open()函数指定文件打开方式的用法
  3. 【云周刊】第205期:阿里云重磅开源实时计算平台Blink,挑战计算领域的“珠峰”...
  4. 作者:卢祥虎,男,北京金信网银金融信息服务有限公司机器学习算法工程师。...
  5. 深度解读最流行的优化算法:梯度下降
  6. [大牛翻译系列]Hadoop(7)MapReduce:抽样(Sampling)
  7. 1stopt拟合步骤_1stopt快速公式拟合
  8. 解决谷歌浏览器最新版本CORS跨域问题
  9. 移动端日历组件设计与实现
  10. 学好机器学习需要哪些数学知识?
  11. Xposed插件开发环境配置
  12. u盘一插上计算机就不响应,u盘插上没反应解决方法
  13. 线性代数:03 向量空间 -- 线性相关与线性无关
  14. lc电路在计算机中应用,LC电路的基础知识介绍
  15. 一个IT人的咖啡爱情
  16. C++不定参数个数函数的写法
  17. DNN降噪取得大突破 清微智能、清华合发论文被邀登语音旗舰会议ICASSP演讲
  18. HTML列表标签,赶紧收藏!
  19. 日本人为何能拿这么多诺贝尔奖
  20. flarum头像插件的使用

热门文章

  1. 升级Turnkey Rails虚拟机到最新Rails版本
  2. [JavaWeb①]复习题库
  3. 决定未来IT产业版图的“三国”纷争
  4. 区块链如何保证使用安全
  5. 基于c语言的自动泊车系统软件设计,基于单片机的自动泊车系统实验平台的设计.doc...
  6. 基于uniapp+express+mysql购物商城模板设计
  7. 【Python】初识Python
  8. cytoscape安装java_Cytoscape软件学习(1):简介及安装
  9. android智能语音播放器,Android SDK
  10. Wifi和IEEE802.11标准