请教一个笔试题以及评价标准 - V2EX
mypchas6fans

请教一个笔试题以及评价标准

  •  
  •   mypchas6fans Aug 24, 2019 2413 views
    This topic created in 2452 days ago, the information mentioned may be changed or developed.

    远程面试一个 QA 职位,给了一道 codility 的题,限时 60 分钟

    内容记得不是很确切,关键词叫 binarian,大意是给一个正整数数组,对每个 i 取 2^i 然后求和,比如[0,1,2,3]得到 1+2+4+8=15,然后问有没有更短的数组得到 15 这个目标值。

    我用了 20 多分钟写了个 python,基本思路是算出目标值,然后简单的贪心算法,如 15 对 2 取对数然后向下取整得到 3,15-2^3=7,继续递归加起来。反正有 2^0=1 兜底,肯定能得到一个数组。然后看是不是比原数组更短。 测试了几组数感觉没什么大问题。

    然后,我就被灭了……算法和刷题确实做得少,我估计大概有动态规划什么的可以得到最优解? 但是我就想知道,我的做法有没有什么问题,以及我连面试机会都没了算是啥水平……

    求轻拍。

    7 replies    2019-08-24 17:05:39 +08:00
    smdbh
        1
    smdbh  
       Aug 24, 2019
    垃圾公司。正常的套路应该是你给个算法,一般是 n2 级别,然后被面试官不断提问,然后改进么
    geelaw
        2
    geelaw  
       Aug 24, 2019 via iPhone
    这个是一个简单题目,是楼主自己想复杂了

    答案 = 在最后的数的二进制展开里有多少个 1
    geelaw
        3
    geelaw  
       Aug 24, 2019 via iPhone
    @geelaw #2 刚看了一下楼主的解法,也是对的 - - 然而转换成二进制的方法比常见的要麻烦好多。我觉得面试者希望的算法应该是对原来的数组排序后直接算出答案,不要经过算出目标值的过程(因为可能要引入大整数计算)。

    方法是反复替换数组里的一对 a 为一个 a+1,直到数组里的数互不相同,此时数组的长度就是答案。
    mypchas6fans
        4
    mypchas6fans  
    OP
       Aug 24, 2019
    @smdbh 大概没说清楚?是线上 coding 测试。
    mypchas6fans
        5
    mypchas6fans  
    OP
       Aug 24, 2019
    @geelaw 感谢,确实是这两种思路应该更快
    minmini
        6
    minmini  
       Aug 24, 2019 via Android
    现在 QA 也要面算法了吗?看来要时不时去刷点题了
    1608637229
        7
    1608637229  
       Aug 24, 2019
    最短就是转换二进制后看有几个 1。转换成二进制后这个数字有几个 1 组成就是最短了。
    About     Help     Advertise     Blog     API     FAQ     Solana     1006 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 49ms UTC 22:18 PVG 06:18 LAX 15:18 JFK 18:18
    Do have faith in what you're doing.
    ubao msn 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