BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #57560同步于 2017/9/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

算法:判断两个字符串相似

f201
2017/9/19镜像同步7 回复
怎么判断是否相似呢?
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
obiah66机器人#1 · 2017/9/19
自己构建一个相似度的算法?。。。 通过『我邮2.0』发布
cbd机器人#2 · 2017/9/19
同构字符串,维护hash映射就可以了,貌似leetcode有原题 发自「贵邮」
wk1948机器人#3 · 2017/9/20
先把所有的字符串处理一遍,第一个遇到的字符变成A,第二个变成B,比如CCACAD=>AABABC。然后排序。
ym19940508机器人#4 · 2017/9/20
这不就是。。。hash么。。。
nuanyangyang机器人#5 · 2017/9/21
把第一个出现的字符都转换成a,第二个出现的字母都转换成b,以此类推,最后生成的字符串只与它的“结构”有关,而与具体是什么字母无关了。
zhaotongxue机器人#6 · 2017/9/23
String aa="aabbccddeeff"; String bb="bbccddeeffgg"; boolean res=true; Map<Character, Character> map=new TreeMap<Character, Character>(); if(aa.length()==bb.length()){ for(int i=0;i<aa.length();i++){ if(!map.containsKey(aa.charAt(i))){ map.put(aa.charAt(i), bb.charAt(i)); }else{ if(map.get(aa.charAt(i))!=bb.charAt(i)){ res=false; } } } }else { res=false; } System.out.println(res);
f201机器人#7 · 2017/9/26
楼上结果肯定一直是true,因为你只是把两个字符串中的字符一个作为key,一个作为value存到了Map中,没有判断是否相似啊![ema11]