2020年3月23日阿里笔试题[通俗易懂]

2020年3月23日阿里笔试题[通俗易懂]2020年3月23日阿里笔试题题目描述题目分析  这是阿里的第二场笔试,本来觉得没啥好写的,一道排列组合,一道迷宫。没有什么发挥的空间。但是后来在和大家讨论的过程中,把这道题的公司给敲出来了,但是这公式也不能白敲,干脆写一篇文章总结一下。题目描述一共n个人,从中选出任意个人组成一队,我们不妨记为k,再从k个人选出一人做队长。题目分析  这是一个典型的排列组合问题,从n个人选出k个,可…

大家好,又见面了,我是你们的朋友全栈君。

2020年3月23日阿里笔试题

  这是阿里的第二场笔试,本来觉得没啥好写的,一道排列组合,一道迷宫。没有什么发挥的空间。但是后来在和大家讨论的过程中,把这道题的公司给敲出来了,但是这公式也不能白敲,干脆写一篇文章总结一下。

题目描述

一共n个人,从中选出任意个人组成一队,我们不妨记为k,再从k个人选出一人做队长。

题目分析

  这是一个典型的排列组合问题,从n个人选出k个,可能是 C n k C_n^k Cnk,从k个人选出一个队长,种类数是 k k k,但是k可以是 1 1 1~ n n n,所以这个题的结果就是 ∑ k = 1 n k C n k \sum_{k=1}^nkC_n^k k=1nkCnk,这样写代码是可以过一些例子的。
  但是不会全过,因为复杂度过大。当然可以在求 C n k C_n^k Cnk的时候利用 C n k = C n k − 1 ∗ n + 1 − k k C_n^k=C_n^{k-1}*\frac{n+1-k}{k} Cnk=Cnk1kn+1k这个公式,因为 C n k − 1 C_n^{k-1} Cnk1我们也是要计算的,这样就会减少一定的复杂度,然后又能多过一些例子。
  我们还会想到 C n k C_n^k Cnk= C n n − k C_n^{n-k} Cnnk,这样又可以少一些计算。我们这时候就需要把 k ∗ C n k 和 ( n − k ) ∗ C n n − k k*C_n^k和(n-k)*C_n^{n-k} kCnk(nk)Cnnk一起计算,发现正好等于 n ∗ C n k n*C_n^k nCnk或者 n ∗ C n n − k n*C_n^{n-k} nCnnk
  到这里如果熟悉排列组合的同学,可能会想到了如果把数列反着再加一次。
在这里插入图片描述

  如果说这个题有什么需要总结的,就是一旦确定一个题目是排列组合的问题之后,可以去考虑使用公式优化计算量,当然时间紧迫,没有时间的话,就很难去优化了,还是需要注意平时多积累。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143075.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript 异步编程2

    javascript 异步编程2

    2021年8月10日
    49
  • 磁盘,硬盘,软盘,光盘的区别[通俗易懂]

    磁盘,硬盘,软盘,光盘的区别[通俗易懂]计算机存储器分为两大类:内存存储器和外部存储器(简称内存或内存条和外存)。内存容量小,存取速度快,只能临时保存信息(经cup处理后的数据),断电后信息就会消失。外存容量大,存取速度比内存慢,能永久

    2022年8月3日
    8
  • vsftp账号_Vsftp用户限制

    vsftp账号_Vsftp用户限制背景Oracle全库备份,异地备份在实现异地备份后,由第三方人员登录服务器拉取dmp文件.为了确保安全,创建一个特定ftp账号用于第三方人员使用要求1.可以登录服务器2.可以拉取dmp文件3.仅限在dmp文件的目录下,不能cd其他路径,ls其他目录解决过程yum安装ftp服务[root@78778e06dc0a/]#yuminstallvsftpd-y修改vsftp配置文件,开启限制[…

    2025年7月20日
    6
  • Pytest(1)安装与入门「建议收藏」

    Pytest(1)安装与入门「建议收藏」pytest介绍pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它

    2022年7月29日
    6
  • jdbc事物描述_事物包括哪些

    jdbc事物描述_事物包括哪些数据库事务数据一旦提交,就不可回滚那些操作会导致数据的自动提交?DDL操作一旦执行,都会自动提交-. set autocommit = false不起作用DML默认情况下,一旦执行就会自动提交-. 可以设置set autocommit = false关闭连接的时候会自动提交 Connection connection = DriverManager.getConnection(url, user, password); connection.setAutoCommit

    2022年8月8日
    7
  • pycharm2021激活码哔哩哔哩【在线注册码/序列号/破解码】

    pycharm2021激活码哔哩哔哩【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    120

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号