一亩三分地论坛

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

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

[算法题] 请教一下大家strStr()的问题

[复制链接] |试试Instant~ |关注本帖
tyr034 发表于 2014-10-30 08:58:27 | 显示全部楼层 |阅读模式

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

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

x
这道题我用的是brutal force 的方法,很快就写出来了,也能过Leetcode的judge。
但我有个疑问是,interview的时候是不能用built-in 的function 嘛?比如
str.length(), 或者str.substring().
因为我觉得如果可以用的话 是非常简单的题目啊
public static String strStr(String haystack, String needle) {
        if((haystack == null)||(needle == null)){
            return null;}
            
       int lengthOfStack = haystack.length();
       int lengthOfNeedle = needle.length();
      
       if(lengthOfStack < lengthOfNeedle){
           return null; }
      
       for(int i =0; i<= lengthOfStack -lengthOfNeedle; i++){
        if(haystack.substring(i,i+lengthOfNeedle).equals(needle)){
            return haystack.substring(i);
        }}
         
       return null; }
 楼主| tyr034 发表于 2014-10-30 09:01:20 | 显示全部楼层
希望面过这道题目的人 来帮我解答下 什么built in 的function 是不可以用的
多谢啦
回复 支持 反对

使用道具 举报

fangl086 发表于 2014-10-30 09:50:27 | 显示全部楼层
这题有两种方法,一种是hash,另外一种是KMP,用自带的api就没多大意义了
回复 支持 反对

使用道具 举报

yzl232 发表于 2014-10-30 09:56:12 | 显示全部楼层
楼主好天真的感觉。。
strStr()就是内置函数。
题目要你实现一个内置函数。
可以用KMP做。
Brutal Force做,面试官未必满意。
回复 支持 反对

使用道具 举报

 楼主| tyr034 发表于 2014-10-30 09:59:59 | 显示全部楼层
yzl232 发表于 2014-10-30 09:56
楼主好天真的感觉。。
strStr()就是内置函数。
题目要你实现一个内置函数。

strStr 只是C 的内置函数。
回复 支持 反对

使用道具 举报

 楼主| tyr034 发表于 2014-10-30 10:01:39 | 显示全部楼层
fangl086 发表于 2014-10-30 09:50
这题有两种方法,一种是hash,另外一种是KMP,用自带的api就没多大意义了

我看了很多答案,因为都用了 string length,substring. 只不过把我的 equal 变成了 charAt。
所以你是说length, substring, euqal都不可以用嘛?
能不能具体说下你是怎么hash做的?
谢谢
回复 支持 反对

使用道具 举报

fangl086 发表于 2014-10-30 10:07:24 | 显示全部楼层
google下rk算法,很多的
回复 支持 反对

使用道具 举报

austurela 发表于 2014-10-30 10:18:22 | 显示全部楼层
You can do whatever you want during interviews. The thing is, you need to do better than your competitors
回复 支持 反对

使用道具 举报

Howie 发表于 2014-11-15 12:22:24 | 显示全部楼层
不用太在意。length()和charAt()。都是基本的函数。可以用的。substring()还是自己写吧。
回复 支持 反对

使用道具 举报

YJM1024 发表于 2014-11-30 08:25:06 | 显示全部楼层
我觉得这应该看面试官的要求吧。如果面试官允许你用substring之类的函数,那么就可以用。不过我觉得这道题主要是想考察类似C那样的看上去底层的写法。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-6 03:13

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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