面试的时候,你遇到过哪些算法? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Nexvar
V2EX    程序员

面试的时候,你遇到过哪些算法?

  •  
  •   Nexvar 2016-10-24 16:55:01 +08:00 via Android 6073 次点击 /div>
    这是一个创建于 3275 天前的主题,其中的信息可能已经有所发展或是发生改变。
    楼主遇到过的:
    LRU
    ThreeSum
    binarySearch
    。。。

    你呢?
    41 条回复    2016-10-27 11:50:33 +08:00
    ansheng
        1
    ansheng  
       2016-10-24 16:59:52 +08:00
    还没面
    qwer1234asdf
        2
    qwer1234asdf  
       2016-10-24 17:42:12 +08:00
    LRu/binary search/reverse list....
    ma125125t
        3
    ma125125t  
       2016-10-24 17:45:24 +08:00
    搞一个开源社区收集这些资源,配上答案,诸位觉得如何?不管有没有商业价值, star 想必是不少的。
    practicer
        4
    practicer  
       2016-10-24 18:01:12 +08:00
    @ma125125t leetcode 足矣, 如果是为了攒 star, 那是用 1024 爬虫吧
    ma125125t
        5
    ma125125t  
       2016-10-24 18:35:36 +08:00
    @practicer 我楼上没说清楚,这个开源社区收集的是面试遇到过的题目,配上答案,并且可以根据投递数排序,看看那些题目是最热门的最容易考的,用户量大了甚至可以付费看前几名的题目或者买答案。
    wangxn
        6
    wangxn  
       2016-10-24 19:16:47 +08:00 via Android
    @ma125125t 不就是 LeetCode 么? LeetCode 还能提交代码呢。
    kx5d62Jn1J9MjoXP
        7
    kx5d62Jn1J9MjoXP  
       2016-10-24 19:25:11 +08:00
    冒泡排序
    Nexvar
        8
    Nexvar  
    OP
       2016-10-24 19:27:42 +08:00 via Android
    @ma125125t
    这的确是一个需求

    leetcode 还没有 c2c(copy to china)呢
    byteli
        9
    byteli  
       2016-10-24 20:31:50 +08:00
    @ma125125t 牛客网现在 it 面试这块规模应该算最大了的吧
    wangxn
        10
    wangxn  
       2016-10-24 21:35:10 +08:00 via Android
    @Nexvar 早有了, LintCode ,牛客网什么的有的是。
    lcsoft
        11
    lcsoft  
       2016-10-24 23:04:00 +08:00
    冒泡排序,大数乘法。
    aznfy
        12
    aznfy  
       2016-10-25 02:36:01 +08:00
    Perry
        13
    Perry  
       2016-10-25 05:42:26 +08:00 via iPhone
    @ma125125t Leetcode 付费就是可以看热门考过的
    zhangbohun
        14
    zhangbohun  
       2016-10-25 08:09:02 +08:00 via Android
    快排
    MrFireAwayH
        15
    MrFireAwayH  
       2016-10-25 09:40:03 +08:00 via Android
    通过解释 A*成功装逼……
    liubo
        16
    liubo  
       2016-10-25 09:43:16 +08:00
    归并排序,要求空间复杂度 O(1);
    杨氏矩阵,就是算法导论里的那题...
    l6751902
        17
    l6751902  
       2016-10-25 09:45:57 +08:00
    ..当时面试官们手指了指白板风轻云淡的来一句:推 Fourier ,当时那一大群草泥马跑过去的心情。。。想摔门走了。。虽然到最后只是讲思路...
    66beta
        18
    66beta  
       2016-10-25 09:48:13 +08:00
    1 、双头队列的一串数字
    2 、用户决定,他自己先抽或让系统先抽
    3 、用户跟系统轮流抽一个,每次都可以从任意一头抽取一个数字
    4 、最终比总和大小论输赢

    需要结果:用户稳稳得输掉....
    jedihy
        19
    jedihy  
       2016-10-25 10:00:25 +08:00
    @66beta 哈,博弈类 DP
    jccg90
        20
    jccg90  
       2016-10-25 11:15:05 +08:00
    @66beta 如果不算平局的话,这个有解?
    66beta
        21
    66beta  
       2016-10-25 11:16:12 +08:00
    @jccg90 我毫无思绪答不上来,两头拿貌似控制不了啊
    alienx717
        22
    alienx717  
       2016-10-25 11:24:39 +08:00
    @MrFireAwayH 哈哈哈厉害
    aksoft
        23
    aksoft  
       2016-10-25 11:35:22 +08:00
    这么多算法,实际项目用到的比牛逼用到都少。
    chiu
        24
    chiu  
       2016-10-25 11:55:23 +08:00 via Android
    判断大小端
    andyfan
        25
    andyfan  
       2016-10-25 12:33:28 +08:00 via Android
    @66beta 好奇如果真能实现了的话让两个程序对着玩会怎么样
    hanzichi
        26
    hanzichi  
       2016-10-25 13:21:00 +08:00
    没遇到过一道 ...
    myv2ex
        27
    myv2ex  
       2016-10-25 13:33:17 +08:00   1
    4 种常用基本排序,树前中后序遍历,字符串倒置,斐波那契, 8 皇后,除了基本的排序,大部分已考察你的递归能力。
    shimanooo
        28
    shimanooo  
       2016-10-25 13:34:22 +08:00
    threesome?
    myv2ex
        29
    myv2ex  
       2016-10-25 13:34:57 +08:00
    对了还有 AStar ,我做 GEF 图形化的东西,每次必问
    hkalexyeung
        30
    hkalexyeung  
       2016-10-25 18:42:03 +08:00
    不要说很难的吧,光是 reverse array 都已经很多人做不来了,面试了好几个都写不出来,现在用 libaray 的人很多,基本功好的真的不多
    cncqw
        31
    cncqw  
       2016-10-25 19:09:27 +08:00   1
    有一次面试遇到一个逗逼 问了我一个猴子吃香蕉的算法
    BruceYuan
        32
    BruceYuan  
       2016-10-25 20:05:38 +08:00
    @hkalexyeung python 和 js 这种不是可以直接调用 reverse 吗?这样不算吗?
    hkalexyeung
        33
    hkalexyeung  
       2016-10-25 21:02:52 +08:00
    @BruceYuan 用 library 谁都会啦,那你知道 reverse 用了多少 memory 吗?这个问题看似很简单,但背后一大堆理论在后面。就好像一个最好的厨子,一定要会炒青菜一样。基本功才是解决问题的根本因素之一,去 stackoverflow copy and paste 是高效,但我们做技术的,总会将来面对一些问题是前无古人的,解决最难的问题的人,基本功肯定是好的。

    我面试了几个人,连 reverse 都自己写不来。。。:'(
    BruceYuan
        34
    BruceYuan  
       2016-10-25 21:24:04 +08:00
    @hkalexyeung
    def convertArray(arr):
    n = len(arr)/2
    length = len(arr)

    for i in range(n):
    arr[i], arr[length - i -1] = arr[length - i - 1], arr[i]

    return arr

    if __name__ == '__main__':
    a = convertArray([1,2,3,4,5])
    print a
    是类似于这样吗?不过一般来说自己实现的东西要比原生的慢好多,比如同样的操作比 arr[::-1]慢了简直不要太多啊。
    CodingPuppy
        35
    CodingPuppy  
       2016-10-25 21:26:59 +08:00
    @66beta 挺有意思,是先生成数据,用户看到数据后,可以决定先抽后抽,还是用户先定先后,再生成数据?
    hkalexyeung
        36
    hkalexyeung  
       2016-10-25 21:40:25 +08:00
    @BruceYuan arr[i], arr[length - i -1] = arr[length - i - 1], arr[i] <-- 这句语法我喜欢!但你有没有编译之后的机器码呢?有机会看看 :D

    现实是 reverse 没人会自己写的 :P 但面试问太难的算法的话,大家都背了答案,所以我这是返璞归真的问题 :P

    其实,我还可以问 String.split, regular expression, parseInt...etc 太多大家天天在用的 functions 啦,然后叫候选人写一下,看看基本功好不好 (我承认我变态 :P)
    66beta
        37
    66beta  
       2016-10-26 09:54:36 +08:00
    @CodingPuppy 没有差别吧,因为用户可以从两头取
    shiny
        38
    shiny  
       2016-10-26 11:55:36 +08:00 via iPhone
    面试是考察对方解决问题的能力,而不是难道别人。先问问自己平时遇到的都是些问题?
    hkalexyeung
        39
    hkalexyeung  
       2016-10-26 12:49:10 +08:00
    @shiny, 不难道别人,怎样看他解决问题的能力呢?
    shiny
        40
    shiny  
       2016-10-26 15:45:41 +08:00 via iPhone
    @hkalexyeung 想要难倒别人还不容易???
    hkalexyeung
        41
    hkalexyeung  
       2016-10-27 11:50:33 +08:00
    @shiny 有技术的难倒别人太难了,我面试题就想我整整两天。。。我的合伙人看到都哭了,哈哈
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2919 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 00:03 PVG 08:03 LAX 17:03 JFK 20:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86