leetcode890
public class Solution
{
public string ConvertString(string pattern)
{
var dic = new Dictionary<char, int>();
int code = ;
var str = "";
for (int i = ; i < pattern.Length; i++)
{
if (!dic.ContainsKey(pattern[i]))
{
dic.Add(pattern[i], code);
str += code.ToString() + "|";
code++;
}
else
{
str += dic[pattern[i]].ToString() + "|";
}
}
return str;
} public IList<string> FindAndReplacePattern(string[] words, string pattern)
{
var pt = ConvertString(pattern);
var list = new List<string>();
foreach (var word in words)
{
var p = ConvertString(word);
if (p.Equals(pt))
{
list.Add(word);
}
}
return list;
}
}
原来的实现中没有加"|"对code进行分割,这样的代码也可以ac,但是会有隐藏的bug,那就是如下两个串会得到相同的编码:
abcdefghijklmn
abcdefghijbabbbcbd
两个字符串都会编码为012345678910111213,加了竖线就不会再有这个bug。
leetcode890的更多相关文章
- [Swift]LeetCode890. 查找和替换模式 | Find and Replace Pattern
You have a list of words and a pattern, and you want to know which words in words matches the patter ...
随机推荐
- idea JMX 连接器服务器通信错误
错误描述:错误: JMX 连接器服务器通信错误: service:jmx:rmi://DESKTOP-46OA4KK 打开Edit Configurations 发现vm options那一栏居然是空 ...
- UVA-1336 Fixing the Great Wall(区间DP)
题目大意:长城(视作x正半轴)有n处破损.有一个智能修复机器人,它的初始位置和移动速度已知.每处破损处都有一组参数(x,c,d),x表示位置,c.d表示在时间t后再修复该处破损的花费为d*t+c.求用 ...
- Java web.xml 配置技巧—动态欢迎页地址
我们的 Java Web 项目在配置web.xml 欢迎页地址默认是index.html .index.jsp ,不知道有人注意过没有,如果我要配置成/index/user.action 或者 ...
- linux下redis的安装及配置启动
linux下redis的安装及配置启动 标签: redisnosql 2014-10-24 14:04 19732人阅读 评论(0) 收藏 举报 分类: 数据与性能(41) wget http:/ ...
- Tomcat : IOException while loading persisted sessions: java.io.EOFException
严重: IOException while loading persisted sessions: java.io.EOFException严重: Exception loading sessions ...
- linux centos 虚拟机新安装后没有网络
ping的时候出现 name or service not known的时候 可以 修改/etc/sysconfig/network-scripts/ifcfg-ens33 文件 vi ifcfg-e ...
- @InitBinder装配自定义编辑器
@InitBinder装配自定义编辑器 第一步:BaseController.java,标注@InitBinder public class BaseController { @InitBinder ...
- 0基础小白怎么学好Java?
自身零基础,我们应该先学好Java,小编给大家介绍一下Java的特性: Java语言是简单的 Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java.Java丢弃了C+ ...
- 最新解决 Ubuntu16.04 和 win10 双系统时间同步问题 (设置为 UTC 时间)
最近在电脑上安装了 Ubuntu16.04 和 Win10 双系统, 开机后发现电脑的开机系统出现了问题,不知道怎么搞的总是会出现8个小时的误差,在网上查了好多文章发现网上的大部分方法都是比较过时的 ...
- 都是用 DllImport?有没有考虑过自己写一个 extern 方法?
你做 .NET 开发的时候,一定用过 DllImport 这个特性吧,这货是用于 P/Invoke (Platform Invoke, 平台调用) 的.这种 DllImport 标记的方法都带有一个 ...