腾讯面试算法题:序列求和

原创 2018年04月17日 11:55:35

腾讯面试算法题:序列求和

题目详情

给一个无重复的候选数字集合C和一个数字target,求和为target的序列,序列中的数都来自于集合C,序列为有序序列。

leetcode 与相关解答

分析

  1. 相当于有放回抽样问题,暴力搜索的复杂度为指数级
  2. 类比维特比算法,可以使用动态规划,将复杂度降低到, O(NK)
  3. 使用递归实现动态规划算法
  4. 确定递归的输入和输出,输入是target和C, 返回的是,寻找到的list的集合。

python实现

def find_child(target, C):
    """
    input:
        target: a int number
        C: a list for search
    return:

    """
    ret = []
    for child_idx in range(len(C)):
        child = C[child_idx]
        if child == target:
            ret.append([child])
        elif child<target:
            ret_list = find_child(target-child, C)
            for child_list_temp in ret_list:
                child_list_temp.append(child)
                ret.append(child_list_temp)
        else:
            pass

    return ret

if __name__ == "__main__":
    target = 8
    C = [2,3, 5]
    ret = find_child(target, C)
    print(ret)

输出

[[2,2,2,2],[3,3,2],[3,2,3],[2,3,3],[5,3],[3,5]]
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/smallflyingpig/article/details/79972828

数据结构和算法

-
  • 1970年01月01日 08:00

算法整理——2015腾讯开发岗笔试题

春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。 ...
  • Jeffery_Gong
  • Jeffery_Gong
  • 2016-09-08 20:46:56
  • 1413

【BAT经典算法面试题系列】求和为n的连续正整数

马上就要到9月份了,意味着一年一度的秋招就要开始了,相信不论是正在实习的童鞋还是马上就要找工作的童鞋,BAT无疑是国内的“明星企业”,是每个学计算机的小伙伴们心之向往的企业,但是呢?对于进BAT来讲,...
  • htq__
  • htq__
  • 2016-08-12 11:11:16
  • 3276

腾讯-算法工程师电话面试

电话面试-腾讯的机器学习算法工程师
  • weixin_40408636
  • weixin_40408636
  • 2017-10-02 00:17:29
  • 881

腾讯研发类笔试面试试题(C++方向)

1、C和C++的特点与区别? 答:(1)C语言特点: 1.作为一种面向过程的结构化语言,易于调试和维护; 2.表现能力和处理能力极强,可以直接访问内存的物理地址; 3.C语言实现了对硬件的编程操作...
  • Xiongchao99
  • Xiongchao99
  • 2017-06-18 17:47:06
  • 9210

2016腾讯实习生面试题(前端、后台、开发、算法)

总的来说今年能面试腾讯还是不错,可惜没有最终通过,哎~游戏开发(手游) 自我介绍 做的最好的项目,并简述(跟一面一样) 随机简历问题(小编被问到科研的项目,需要用简单的话语介绍自己的科研…….就是想办...
  • wudaxiaosheng
  • wudaxiaosheng
  • 2016-04-19 10:21:27
  • 3237

java实现堆排序(2016年腾讯内推笔试的一道算法题)

这是2016年腾讯微信部web开发内推笔试的一道算法题,使用java实现了堆排序。...
  • u013125075
  • u013125075
  • 2016-08-21 13:08:36
  • 632

腾讯2015校招面试中一道算法题

今天看到论坛成员zhangxing发表的腾讯2015校园招聘面经 最后一道面试算法题是“一个超长字符串表示的十进制数(大于2^32),转化为十六进制的字符串?”。超长字符串,可以作为大数处理了。...
  • tenderhearted
  • tenderhearted
  • 2014-09-17 14:35:48
  • 626

腾讯面试算法题

输入一个列数字,输出一列数字,其中,输出列的每个数字都是上一列数字在输出列中出现的次数 例如: 输入:0 1 2 3 4 5 6 7 8 9 输出:6 2 1 0 0 0 1 0 0 0 如0...
  • creasylai19
  • creasylai19
  • 2015-10-14 16:48:17
  • 366

腾讯面试题(附答案)

这里的答案都是本人做的,非标准答案。如果错误,请在评论里指正,一起讨论共同进步!谢谢!腾讯面试题1、大端与小端的概念?各自的优势是什么?【答】大端与小端是用来描述多字节数据在内存中的存放顺序,即字节序...
  • lisong694767315
  • lisong694767315
  • 2016-05-06 02:41:31
  • 17372
收藏助手
不良信息举报
您举报文章:腾讯面试算法题:序列求和
举报原因:
原因补充:

(最多只允许输入30个字)