[LeetCode]161. One Edit Distance
来源:互联网 发布:数据采集程序流程图 编辑:程序博客网 时间:2024/06/05 02:35
原题链接:https://leetcode.com/problems/one-edit-distance/
这道题目及变种多次在各大公司的面经中出现过。我在面snapchat的时候也遇到过这道题目。题目是说我们要求给定2个输入字符串S和T,要求判断S和T是不是只有一个字符只差。这里One Edit Distance意思就是你改动其中一个字符串的1个字符,就会变成另一个字符串。这里的改动包括增加1个字符,删除1个字符,改动1个字符。而增加一个字符和删除一个字符是一样的。所以我们当2个字符串长度相等的时候,我们就只要判断他们是不是diff == 1, 当长度相差大于1时直接返回false,当长度相差等于1时,我们判断diff是不是<=1.时间复杂度是O(n)
代码如下:
public boolean isOneEditDistance(String s, String t) { int lens = s.length(); int lent = t.length(); if(Math.abs(lens-lent)>1) return false; if(lens == lent) { return isOneEdit(s,t); } else if(lens>lent) { return isOneDel(t,s); } else { return isOneDel(s,t); } } private boolean isOneEdit(String s, String t) { int diff = 0; int len = s.length(); for(int i = 0;i<len;i++) { if(s.charAt(i)!=t.charAt(i)) diff++; } return diff == 1; } private boolean isOneDel(String s, String t) { int diff = 0; int lens = s.length(); int lent = t.length(); for(int i = 0, j = 0;i<lens && j <lent;i++,j++) { if(s.charAt(i)!=t.charAt(j)) { diff++; i--; } } return diff<=1; }这道题的变种可以有很多种,包括密码学上的一些知识,以及结合了Tire字典树的一些知识。所以大家开始要会哈。
0 0
- Leetcode-161.One Edit Distance
- [LeetCode]161. One Edit Distance
- LeetCode 161. One Edit Distance
- Leetcode 161. One Edit Distance
- LeetCode 161.One Edit Distance
- Leetcode One Edit Distance
- LeetCode - One Edit Distance
- leetcode - One Edit Distance
- #leetcode#One Edit Distance
- [LeetCode]One Edit Distance
- LeetCode—161. One Edit Distance
- [Leetcode] 161. One Edit Distance 解题报告
- 161. One Edit Distance
- 161. One Edit Distance
- 161. One Edit Distance
- leetcode 161: One Edit Distance
- LeetCode 161. One Edit Distance(编辑距离)
- LeetCode-161.One Edit Distance (JAVA)一次编辑距离
- The problem of extent not match in ArcMap.
- spring ioc,aop工作原理
- maya中的桥接命令
- 软件开发管理: 技术午餐会(brown bag)
- 12 类别与扩展
- [LeetCode]161. One Edit Distance
- A few very crucial DATA STRUCTURE
- Leetcode - 295. Find Median From Data Stream
- SpatialHadoop中空间索引系列之(一)空间索引构建
- 滴滴5亿年终奖,根据这四个问题来发
- Android实现网络多线程断点续传下载
- 关于ObjectOutputStream
- PHP面向对象中常见的关键字
- Wc2016酱油记