美国华人网FuninUSA|唐人社区|北美华人论坛:找好货,找礼品卡,找折扣,找工作,找内推,找项目,找股票

 找回密码
 立即注册
  • 这只公猫被封杀宿舍楼外 因为它搞大了10只母猫的肚子
  • 结婚时遇上海军表演 这画面永生难忘
  • 明明有荤有素 汉堡却是真正的“垃圾食品”
  • 英国BA航空IT系统宕机:伦敦起飞航班全挂了!
  • 大开眼界:世界上第一台ATM机原来是这样
  • 史上最诡异恒星:我们第一次看到了外星人?
  • 比特币翻倍狂涨:幕后推手竟是一家投资信托
  • 陈欧3亿投资的街电曝人事震荡:集体离职、手撕东家
  • 柯洁三战AlphaGo皆败 李世石:他应得到掌声
  • 上海迪士尼京东旗舰店开业:可直接买票
    Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
    ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
    搜索
    查看: 3038|回复: 8

    内推面经 -问一道算法题max length of subsequence string matching subs- 唐人社区| ...

    [复制链接]

    10

    主题

    370

    帖子

    394

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    394
    QQ
    发表于 2016-10-3 20:20:34 | 显示全部楼层 |阅读模式
    分享到:
    {$content}

    唐人社区-北美华人论坛-内推面经版-问一道算法题max length of subsequence string matching subs


      JobHunting
    标 题: 问一道算法题max length of subsequence string matching subs


    昨天做了道challenge的题,输入两个String, a and b, 要求返回能够满足(
    subsequence of a) == (substring of b)的最大length。a和b的characters都是a-z。
    我的做法代码复杂而且时间
    复杂度也感觉不好。为了不误导大家,大牛先试试有没有好的解法,我再抛砖。

    --
    Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
    Would you capture it or just let it slip?

    【COACH美国代购总群】99634155
    回复 百度谷歌雅虎搜狗搜搜有道360奇虎

    举报

    16

    主题

    93

    帖子

    125

    积分

    注册会员

    Rank: 2

    积分
    125
    QQ
    发表于 2016-10-3 21:09:06 | 显示全部楼层
    JobHunting
    标  题: Re: 问一道算法题max length of subsequence string matching


    这样说来dp可以解决?但我遇到的是不是2 substring match, 是subsequence matches
    substring。
    2 substring match f(i,j)=f(i-1)(j-1)+1
    subsequence matches substring, 难道要遍历row(i-1)?   f(i,j)=Max(f(i-1,0)...
    .f(i-1,j-1))+1
    这样一来就是O(m*n*n)了,与dfs没区别了。

    不过好像每个row去掉所有0,都是递增序列,可能可以找最后的值 f(i,j) = f(i-1, x
    ) ( x=max(0, j-1) and f(i-1, x)>0).
    如果用一个一维array来记录所有row最大值, 应该可以吧。我试试。

    【 在 hardpack (hardpack) 的大作中提到: 】
    : 这个?
    : https://en.m.wikipedia.org/wiki/Longest_common_substring_problem
    : 面试要问这个,多半是来找茬的。




    --
    Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
    Would you capture it or just let it slip?

    24

    主题

    86

    帖子

    136

    积分

    注册会员

    Rank: 2

    积分
    136
    QQ
    发表于 2016-10-3 23:03:27 | 显示全部楼层
    JobHunting
    标  题: Re: 问一道算法题max length of subsequence string matching subs


    subsequance 和substring有什么区别?
    如果是longest common substring,好像是用二维dp来解?
    --

    25

    主题

    94

    帖子

    146

    积分

    注册会员

    Rank: 2

    积分
    146
    QQ
    发表于 2016-10-3 23:12:41 | 显示全部楼层
    JobHunting
    标  题: 问一道算法题max length of subsequence string matching subs


    昨天做了道challenge的题,输入两个String, a and b, 要求返回能够满足(
    subsequence of a) == (substring of b)的最大length。a和b的characters都是a-z。
    我的做法代码复杂而且时间
    复杂度也感觉不好。为了不误导大家,大牛先试试有没有好的解法,我再抛砖。

    --
    Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
    Would you capture it or just let it slip?

    17

    主题

    95

    帖子

    134

    积分

    注册会员

    Rank: 2

    积分
    134
    QQ
    发表于 2016-10-3 23:47:57 | 显示全部楼层
    JobHunting
    标  题: Re: 问一道算法题max length of subsequence string matching


    Subsequence 是指可以删除任意一些characters后的string (保持原顺序)

    https://en.wikipedia.org/wiki/Subsequence


    【 在 laoqiu (老Q) 的大作中提到: 】
    : subsequance 和substring有什么区别?
    : 如果是longest common substring,好像是用二维dp来解?



    --
    Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
    Would you capture it or just let it slip?

    22

    主题

    104

    帖子

    158

    积分

    注册会员

    Rank: 2

    积分
    158
    QQ
    发表于 2016-10-4 00:10:27 | 显示全部楼层
    JobHunting
    标  题: Re: 问一道算法题max length of subsequence string matching


    试了一下DP,一维array记录所有row最大值不行,必须找最后的值 f(i,j) = f(i-1, x
    ) ( x=max(0, j-1) and f(i-1, x)>0). 可以用存一个index list, 用binary search,
    O(m*n*log(m)) 。 我觉得这个题还是直接用dfs好了,最坏情况是b里很多duplicate,
    O(m*n*n)。

    【 在 coldknight (冷骑士) 的大作中提到: 】
    : 这样说来dp可以解决?但我遇到的是不是2 substring match, 是subsequence
    matches
    :  substring。
    : 2 substring match f(i,j)=f(i-1)(j-1)+1
    : subsequence matches substring, 难道要遍历row(i-1)?   f(i,j)=Max(f(i-1,0).
    ..
    : .f(i-1,j-1))+1
    : 这样一来就是O(m*n*n)了,与dfs没区别了。
    : 不过好像每个row去掉所有0,都是递增序列,可能可以找最后的值 f(i,j) = f(i-1,
    x
    : ) ( x=max(0, j-1) and f(i-1, x)>0).
    : 如果用一个一维array来记录所有row最大值, 应该可以吧。我试试。


    --
    Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
    Would you capture it or just let it slip?

    28

    主题

    108

    帖子

    156

    积分

    注册会员

    Rank: 2

    积分
    156
    QQ
    发表于 2016-10-4 00:18:07 | 显示全部楼层
    JobHunting
    标  题: Re: 问一道算法题max length of subsequence string matching


    今天返回来一看这题,马上O(m*n) dp写出了。状态太重要了。

    【 在 coldknight (冷骑士) 的大作中提到: 】
    : 试了一下DP,一维array记录所有row最大值不行,必须找最后的值 f(i,j) = f(i-1,
    x
    : ) ( x=max(0, j-1) and f(i-1, x)>0). 可以用存一个index list, 用binary
    search,
    :  O(m*n*log(m)) 。 我觉得这个题还是直接用dfs好了,最坏情况是b里很多
    duplicate,
    :  O(m*n*n)。
    : matches
    : ..
    :  x



    --
    Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
    Would you capture it or just let it slip?

    25

    主题

    1238

    帖子

    2442

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    2442
    QQ
    发表于 2016-10-25 21:43:11 | 显示全部楼层
    鼎力支持!!

    0

    主题

    1067

    帖子

    2138

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    2138
    发表于 2016-10-29 20:34:21 | 显示全部楼层
    顶起顶起顶起
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    美国华人网|唐人社区|什么值得买FunInUSA.net发布的内推面经 -问一道算法题max length of subsequence string matching subs- 唐人社区| ...帖子由网友提供或转载于网络,若发布的内推面经 -问一道算法题max length of subsequence string matching subs- 唐人社区| ...侵犯了您的权益,请联系我们.
    Sasa.com

    Copyright ©2011 FunInUSA.NET All Right Reserved.  Powered by Discuz! X3.0 小黑屋

    本站信息均由会员发表,不代表美国华人网FunInUSA|唐人社区的立场,如侵犯了您的权利请发帖投诉  技术支持: 美国华人网FunInUSA|唐人社区

    安全联盟认证 安全联盟认证

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