V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
gdw1986
V2EX  ›  Python

估计面试没通过,唉

  •  
  •   gdw1986 · 2020-10-27 15:13:32 +08:00 · 16667 次点击
    这是一个创建于 1267 天前的主题,其中的信息可能已经有所发展或是发生改变。
    面试前猎头提示我会考递归,妈的,现学真的搞不定啊,题目是 li = [2,3,5,7,9],输出任意组合,可以重复选,输出所有和是 13 的组合,递归现学现用失败,还是老老实实拿循环写的:
    li = [2,3,5,7,9]

    def sum13(li):
    for i in li:
    if i == 13:
    print(i)
    for j in li:
    if i + j == 13:
    print(i,j)
    for k in li:
    if i + j + k== 13:
    print(i,j,k)
    for l in li:
    if i + j + k + l== 13:
    print(i,j,k,l)
    for o in li:
    if i + j + k + l + o == 13:
    print(i,j,k,l,o)

    我这是面不过了吧?
    125 条回复    2020-11-26 06:20:16 +08:00
    1  2  
    cxshun
        101
    cxshun  
       2020-10-28 14:42:16 +08:00
    这题是回溯或 DFS,虽然是用递归的代码逻辑写出来的,但跟递归真的关系不大。
    easonHHH
        102
    easonHHH  
       2020-10-28 14:48:12 +08:00
    @no1xsyzy #100
    雕,你不讲我还没反应过来讲一套做一套了,献丑献丑
    hhhsuan
        103
    hhhsuan  
       2020-10-28 14:53:58 +08:00 via Android
    现在程序员找工作都要猎头了吗
    2379920898
        104
    2379920898  
       2020-10-28 15:29:01 +08:00
    看见题,直接开溜
    fank99
        105
    fank99  
       2020-10-28 16:05:39 +08:00
    这是回溯吧。。怎么扯到 dp 的呢
    marcolin
        106
    marcolin  
       2020-10-28 16:08:11 +08:00
    维特比算法
    zaneenaz
        107
    zaneenaz  
       2020-10-28 18:44:34 +08:00
    回溯+剪枝
    user8341
        108
    user8341  
       2020-10-28 19:00:42 +08:00
    @fank99 感觉被第一条回复给误导了。就是个回溯,或者叫深度优先搜索。
    hello2060
        109
    hello2060  
       2020-10-28 19:16:51 +08:00 via iPhone
    @GoLand 这应该是 DFS 吧,
    hello2060
        110
    hello2060  
       2020-10-28 19:17:56 +08:00 via iPhone
    @tianhualefei 这是让你输出所有组合,而不是问你可能的组合一共多少个
    cassyfar
        111
    cassyfar  
       2020-10-28 19:31:43 +08:00
    别秀 DP 了,老老实实用 DFS + 剪枝 就可以轻松过关。
    dadachen1997
        112
    dadachen1997  
       2020-10-28 20:08:55 +08:00
    回溯问题,有一套模版,之前写 leetcode 写吐了
    zmxnv123
        113
    zmxnv123  
       2020-10-28 21:11:13 +08:00 via iPhone
    @no1xsyzy 递归当然可以转换成迭代,但迭代明显是声明式的写法,lisp 肯定不提倡用这种方式思考。
    gdw1986
        114
    gdw1986  
    OP
       2020-10-28 21:47:47 +08:00
    @hhhsuan 前同事们貌似互联网居多,但是年龄大了加不动班了。。。
    samwalt
        115
    samwalt  
       2020-10-28 23:22:27 +08:00
    @gdw1986 外企对大龄程序员友好吗?
    robinlovemaggie
        116
    robinlovemaggie  
       2020-10-29 09:51:53 +08:00
    问题化解为:[2,3,(2,3),(2,2,3),(2,2,3,3)]的集合里也即 n 个 2 和 m 个 3 的所有集合种 sum=13 的字集里求解 j 个 2 和 k 个 3 的 sum=3,5,7,9 个情况个数。
    gdw1986
        117
    gdw1986  
    OP
       2020-10-29 13:30:57 +08:00 via Android
    @samwalt #115 还可以,但我们其实是外企外挂在中国的假 rd,所以我很没安全感,但是公司 40 左右的同事是大多啥,我这三十多的还算年轻的
    samwalt
        118
    samwalt  
       2020-10-29 15:08:53 +08:00
    @gdw1986 真还不错,为啥要走呢?真外企也裁员的
    gdw1986
        119
    gdw1986  
    OP
       2020-10-29 21:09:29 +08:00
    @samwalt 一个是我们部门太闲了,没啥正经项目,怕哪天真撤了,钱呢不多不少,撑不着饿不死,想换个房子有点困难,然后现在岁数又这么尴尬,所以还是想再看看机会,提高点收入。
    samwalt
        120
    samwalt  
       2020-10-30 09:57:11 +08:00
    @gdw1986 兄弟努把力,多刷题
    gdw1986
        121
    gdw1986  
    OP
       2020-10-30 19:59:30 +08:00
    @samwalt 多谢,在刷题了
    JasonLaw
        122
    JasonLaw  
       2020-11-14 22:03:31 +08:00
    Java 版本: https://codeshare.io/5XyJeE 。recursion + memoization 。
    JasonLaw
        123
    JasonLaw  
       2020-11-14 22:30:23 +08:00
    这个视频讲得挺好的,虽然不是完全一样的问题,但是很类似。
    JasonLaw
        124
    JasonLaw  
       2020-11-15 10:51:03 +08:00
    @JasonLaw #122 Java recursion 优化版本: https://codeshare.io/5MdEkJ
    Skyline57
        125
    Skyline57  
       2020-11-26 06:20:16 +08:00
    不能用内置函数吗?
    itertools.permutations
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4510 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 10:11 · PVG 18:11 · LAX 03:11 · JFK 06:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.