一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 807|回复: 7
收起左侧

[算法题] Word Ladder

[复制链接] |试试Instant~ |关注本帖
love1point 发表于 2015-5-28 16:46:43 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本帖最后由 love1point 于 2015-5-28 16:53 编辑

今天刷了Word Ladder, 参考了网上代码,但leetcode过不去,谁能帮帮忙,多谢哈
Submission Result: Compile Error
More Details


Line 20: error: incompatible types: Set<String> cannot be converted to HashSet<String>



public int ladderLength(String start, String end, HashSet<String> dict) {
if (dict.size() == 0)
return 0;
dict.add(end);
LinkedList<String> wordQueue = new LinkedList<String>();
LinkedList<Integer> distanceQueue = new LinkedList<Integer>();
wordQueue.add(start);
distanceQueue.add(1);
//track the shortest path
int result = Integer.MAX_VALUE;
while (!wordQueue.isEmpty()) {
String currWord = wordQueue.pop();
Integer currDistance = distanceQueue.pop();
if (currWord.equals(end)) {
result = Math.min(result, currDistance);
}
for (int i = 0; i < currWord.length(); i++) {
char[] currCharArr = currWord.toCharArray();
for (char c = ’a’; c <= ’z’; c++) {
currCharArr = c;
String newWord = new String(currCharArr);
if (dict.contains(newWord)) {wordQueue.add(newWord);
distanceQueue.add(currDistance + 1);
dict.remove(newWord);
}
}
}
}
if (result < Integer.MAX_VALUE)
return result;
else
return 0;
}

tailofjune 发表于 2015-5-28 17:47:21 | 显示全部楼层
不要乱改函数头.
回复 支持 反对

使用道具 举报

 楼主| love1point 发表于 2015-5-28 20:07:24 | 显示全部楼层

非常感谢,改对了
回复 支持 反对

使用道具 举报

 楼主| love1point 发表于 2015-5-28 20:07:49 | 显示全部楼层
AC 过了:



public class Solution {
    public int ladderLength(String beginWord, String endWord, Set<String> wordDict) {
        if (wordDict.size() == 0)
                return 0;

        wordDict.add(endWord);

        LinkedList<String> wordQueue = new LinkedList<String>();
        LinkedList<Integer> distanceQueue = new LinkedList<Integer>();

        wordQueue.add(beginWord);
        distanceQueue.add(1);

        //track the shortest path
        int result = Integer.MAX_VALUE;
        while (!wordQueue.isEmpty()) {
                String currWord = wordQueue.pop();
                Integer currDistance = distanceQueue.pop();

                if (currWord.equals(endWord)) {
                        result = Math.min(result, currDistance);
                }

                for (int i = 0; i < currWord.length(); i++) {
                        char[] currCharArr = currWord.toCharArray();
                        for (char c = 'a'; c <= 'z'; c++) {
                                currCharArr[i] = c;

                                String newWord = new String(currCharArr);
                                if (wordDict.contains(newWord)) {
                                        wordQueue.add(newWord);
                                        distanceQueue.add(currDistance + 1);
                                        wordDict.remove(newWord);
                                }
                        }
                }
        }

        if (result < Integer.MAX_VALUE)
                return result;
        else
                return 0;
    }
   
   
}


回复 支持 反对

使用道具 举报

whoami250 发表于 2015-6-21 07:27:56 | 显示全部楼层
堂堂快毕业的PhD抄答案都抄不对,真是佩服啊
这答案抄的,一个字母都不差,太厉害
https://github.com/adiggo/Leetcode/blob/master/WordLadder.java
回复 支持 反对

使用道具 举报

sharkwolf 发表于 2015-6-21 08:31:28 | 显示全部楼层
whoami250 发表于 2015-6-21 07:27
堂堂快毕业的PhD抄答案都抄不对,真是佩服啊
这答案抄的,一个字母都不差,太厉害
https://github.com/ad ...

打人不打脸,揭人不揭短, 厚道一点!
回复 支持 反对

使用道具 举报

whoami250 发表于 2015-6-21 11:02:00 | 显示全部楼层
sharkwolf 发表于 2015-6-21 08:31
打人不打脸,揭人不揭短, 厚道一点!

是我不厚道还是lz发的全是这种没有营养的帖子不厚道呢??
回复 支持 反对

使用道具 举报

sharkwolf 发表于 2015-6-21 13:39:52 | 显示全部楼层
whoami250 发表于 2015-6-21 11:02
是我不厚道还是lz发的全是这种没有营养的帖子不厚道呢??

来点幽默感, 轻松一下!
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-11 18:39

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表