美文网首页
关于传说中的皮裤Guy的面试题

关于传说中的皮裤Guy的面试题

作者: Kent_Zhang | 来源:发表于2016-09-03 21:31 被阅读38次

    原文位于此处
    http://bbs.jointforce.com/topic/19531

    我似乎找到了一个O(m+n)的算法,同样简洁但是没有数字相乘造成太大数字的风险,无论多长的两个字符串,都只需要消耗一个8个字节的额外内存用于计算。

    简单的说就是运用位运算,由于大小写字母总共有52个,所以可用一个长整型64位,每一位代表其中某一个字母。先遍历短字符串,对位掩码进行位设置操作,比如存在a则设置最低位为1。

    然后遍历长字符串,对每个字母所代表的位进行清0,比如存在a则设置最低位为0。

    遍历过后,如果64位长整型仍然非0,则证明短字符串不是长字符串的子集。

    以上,叙述比较简单抽象…………实在是没精神多写啊………………

    相关文章

      网友评论

          本文标题:关于传说中的皮裤Guy的面试题

          本文链接:https://www.haomeiwen.com/subject/awflettx.html