《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q22)

程序员必修内功,收集了上千本各类编程书籍【免费获取】 程序员必修内功,收集了上千本各类编程书籍,C,C++,Java,Python,机器学习,深度学习,Linux等等,还收集了很多英文原版书籍,看不惯中文的也可以选择英文哦。这些书籍都是我经过平时的积累,到处收集下来的,可以说是很全面了。数目会随着时间而增加,当你想要找一本与互联网相关的书籍时,可以优先来看看我这里有没有哦,万一有呢,是吧。 若存在链接失效可以私我,第一时间把书籍发给你。 目录 面试宝典 数据结构与算法相关书籍 计算机基础 计算机网络 计算机组成原理 汇编语言 操作系统 py 阅读详情

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~

在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6)

Q22 不缠绕的纸杯电话
     绳子连接纸杯制作“纸杯电话”——这应该勾起了很多人对理科实验的回忆。如果把绳子拉直,对着一边的纸杯讲话,声音就可以从另一边的纸杯传出。
    假设有几个小朋友以相同间隔围成圆周,要结对用纸杯电话相互通话。如果绳子交叉,很有可能会缠绕起来,所以结对的原则是不能让绳子交叉。
    举个例子,如果有 6 个小朋友,则只要如图一样结对,就可以顺利用纸杯电话通话。也就是说, 6 个人的时候,有 5 种结对方式。

                                              

问题
    求有 16 个小朋友的时候,一共有多少种结对方式?

def calculate(wait_connect_list):
    first_item = wait_connect_list.pop(0)
    total_count = 0
    for index in range(len(wait_connect_list)):
        if (wait_connect_list[index] - first_item - 1) % 2 == 0:
            right_list = wait_connect_list[:index]
            left_list = wait_connect_list[index+1:]
            if len(right_list) == 0 and len(left_list) == 0:
                total_count += 1
            elif len(right_list) == 0:
                total_count += calculate(left_list)
            elif len(left_list) == 0:
                total_count += calculate(right_list)
            else:
                total_count += calculate(right_list) * calculate(left_list)
    return total_count

print("共有%s种结对方式" % calculate([i for i in range(16)]))

运行结果:

                 共有1430种结对方式

程序员编程艺术:面试和算法心得.pdf 第一部分 数据结构 • • • 第一章 字符串 o 1.0 本章导读 o 1.1 旋转字符串 o 1.2 字符串包含 o 1.3 字符串转换成整数 o 1.4 回文判断 o 1.5 最长回文子串 o 1.6 字符串的全排列 o 1.10 本章习题 第二章 数组 o 2.0 本章导读 o 2.1 寻找最小的 k 个数 o 2.2 寻找和为定值的两个数 o 2.3 寻找和为定值的多个数 o 2.4 最大连续子数组和 o 2.5 跳台阶 o 2.6 奇偶排序 o 2.7 荷兰国旗 o 2.8 矩阵相乘 o 2.9 完美洗牌 o 2.15 本章习题 第三章 树 o 3.0 本章导读 o 3.1 红黑树 o 3.2 B 树 o 3.3 最近公共祖先 LCA o 3.10 本章习题 第二部分 算法心得 • 第四章 查找匹配 o 4.1 有序数组的查找 o 4.2 行列递增矩阵的查找 o 4.3 出现次数超过一半的数字 • 第五章 动态规划 o 5.0 本章导读 o 5.1 最大连续乘积子串 o 5.2 字符串编辑距离 o o o 5.3 格子取数 5.4 交替字符串 5.10 本章习题 第三部分 综合演练 • 第六章 海量数据处理 o 6.0 本章导读 o 6.1 关联式容器 o 6.2 分而治之 o 6.3 simhash 算法 o 6.4 外排序 o 6.5 MapReduce o 6.6 多层划分 o 6.7 Bitmap o 6.8 Bloom filter o 6.9 Trie 树 o 6.10 数据库 o 6.11 倒排索引 o 6.15 本章习题 第七章 机器学习 o 7.1 K 近邻算法 o 7.2 支持向量机 附录 更多题型 o 附录 A 语言基础 o 附录 B 概率统计 o 附录 C 智力逻辑 o 附录 D 系统设计 o 附录 E 操作系统 o 附录 F 网络协议 立即下载

相关推荐

程序员的算法趣题.pdf.zip

面试算法题

从零到一,这些有趣的算法畅销书,你看过吗?

还记得许多年前的夏天, 那时的我还是满头黑发, 拼命学习还研究算法, 还有一直鼓励我的她, 当时的我是那么快乐, 虽然刚刚踏入算法大门, 在教室、在宿舍、在食堂里, 研究着别人看不懂的公式。 如果有一天,我进入大厂,请把我留在,在那岗位上。 大学学习算法、反复做题的经历还历历在目,而我已在算法和深度学习这个“行当”摸爬滚打了4年。 许多人对算法是又爱又恨,其枯燥乏味的表象足以锤爆众多初学者,即便是那些网传的“圣经宝典”,你若想心情愉悦地啃下来,那也是不可能的,尤其是那些动不动就七八百页的“

weixin_42430871的博客 651

【架构师面试-缓存与搜索-1】-缓存与缓存置换策略源码实现

1:什么是缓存 缓存:加速数据访问的存储,降低延迟(latency),提升吞吐量(Throughput)的利器。 1:缓存演进历史 1. 查库 2. ConcurrentHashMap 3. LRU 4. Guava Cache 5. 分布式缓存(redis,MemCache) 6. 多级缓存 2:在什么地方加缓存 缓存对于每个开发者来说是相当熟悉了,为了提高程序的性能我们会去加缓存,但是在什么地方加缓存,如何加缓存呢? 举个栗子:假设一个网站,需要提高性能,缓存可以放在浏览器,可以放

chongfa2008的博客 6438

程序员的算法趣题pdf

下载地址:网盘下载内容简介······本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以Ruby、JavaScript等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切...

weixin_30456039的博客 478

从玩具车到手机充电:手把手带你用Multisim仿真Buck/Boost电路(附工程文件)

本文通过Multisim仿真软件,手把手教你搭建Buck降压电路和Boost升压电路,实现从12V到5V或3.7V到5V的电压转换。文章详细介绍了电路搭建步骤、关键波形观测技巧及常见故障排查方法,并附赠工程文件,帮助电子爱好者快速掌握电源转换技术。

weixin_29159127的博客 242

Synopsys的CoreConsultant使用简析

CoreConsultant使用简析

weixin_58165606的博客 1万+

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q10)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q10 轮盘的最大值       流传较广的轮盘数字排布和设计有“欧式规则”和“美式规则”两种。下面我们要找出在这些规则下,“连续 n 个数字的和...

cloudly89的专栏 301

【Qt】Qt5.15在线安装避坑指南:从代理配置到组件选择的完整实践

本文详细介绍了Qt5.15在线安装的全流程避坑指南,包括代理配置、组件选择和常见问题解决方案。通过使用Fiddler工具和国内镜像源,可显著提升下载速度。文章还提供了组件选择的黄金法则和安装后的验证步骤,帮助开发者高效完成Qt5.15的安装与配置。

weixin_42550052的博客 270

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q18)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q18 水果酥饼日     日本每月的 22 日是水果酥饼日。因为看日历的时候, 22 日的上方刚好是 15 日,也就是“‘22’这个数字上面点缀...

cloudly89的专栏 369

Arcgis中的模型构建器技术之按属性批量建库并对应输出

好久没更新了,之前我们已经介绍过四至点提取模型,前两天有同事问怎么样按属性批量建数据库并对应输出相关图斑。比如将一个县的永农数据按乡镇建立数据库并将对应乡镇的永农数据输出到相应的数据库里。今天就介绍一下相关的模型构建过程。

weixin_44671081的博客 518

某易将军令口令纯算法还原py篇

算法开源,将军令口令算法。希望官方多多更新吧

任雪飘的博客 3909

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q04)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q04 切分木棒     假设要把长度为 n 厘米的木棒切分为 1 厘米长的小段,但是 1 根木棒只能由 1 人切分,当木棒被切分为 3 段后,可...

cloudly89的专栏 274

库存管理系统项目部署方案(基于jdk8)

不需要安装到服务器,运维本地安装就行,主要是用来编译前端代码的。构建完成后将dist文件夹复制到服务器内。

程序员诚哥 2574

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q06)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q06 (改版)考拉兹猜想       “考拉兹猜想”是一个数学上的未解之谜。 考拉兹猜想 对自然数 n 循环执行如下操作。 ·n 是...

cloudly89的专栏 291

java实现长短期记忆人工神经网络LSTM(附完整源码)

java实现长短期记忆人工神经网络LSTM(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1691

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

程序员的算法趣题:Python全解(2023-03-07:追加github repo)

本系列(将)包含《程序员的算法趣题》(增井敏克著,绝云译)中所有问题的详细分析和Python解答。原书使用Ruby/Javascript实现,看不懂(????)。较复杂的问题的解说也受限于书的篇幅以及不同的人的思维模式的不同,不容易跟得上书中的解说。归根结底还是以独立自主完全想清楚写出可行代码并验证通过才能达成最好的学习效果,在此过程中所走的所有弯路所陷入的坑都可以转变为经验教训。即便有时候算法不够好运行效率不够高也无妨,因为毕竟这才是真正属于自己的。

chenxy_bwave的专栏 2110

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

程序员的算法趣题Perl版 每日一题2

第三题 解数独 答案为 @sd =(['5','3','.','.','7','.','.','.','.'], ['6','.','.','1','9','5','.','.','.'], ['.','9','8','.','.','.','.','6','.'], ['8','.','.','.','6','...

jiemaoshangdewu的专栏 233

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

python经典编程题-编程的乐趣:经典Python算法题知多少

谜题趣味非凡。顶级谜题的解可没那么浅显易得,需要灵光一闪才能发现。算法谜题是指谜题的解法就是算法,解题的步骤可以被机器自动执行。算法可以用英文或者其他任何自然语言来描述,但是为了更加精确,往往会用伪代码进行描述。之所以称为"伪代码”,是因为它尚未细化到足以在计算机上运行的程度,与用编程语言编写的代码不大一样。当今世界有越来越多的人以计算机编程为业。为了学习编程,我们首先要通过简单的例子学...

weixin_37988176的博客 449

程序员9月书讯

8月书讯中奖名单: xu1227233860《跟阿铭学Linux(第3版)》 bit_kaki《Python数据分析基础》 Lingdongtianxia《Head First JavaScript程序设计》 javazejian《隐匿的宇宙:用基本粒子揭开宇宙之谜》 u010850027《 程序员的算法趣题》 中奖通知由优快云官方发布站内消息,请

图灵教育 3万+

程序员的算法趣题Q05: 硬币兑换

《程序员的算法趣题》中的第5题的解题分析(数学推导)以及python解

chenxy_bwave的专栏 890

程序员的算法趣题Q56: 鬼脚图中的横线(思路2)

程序员的算法趣题Q56: 鬼脚图中的横线 第2种思路。。。探索中

chenxy_bwave的专栏 7516

程序员的算法趣题--入门篇(c++描述)日期的二进制转换

问题描述:   把年月日表示为 YYYYMMDD 这样的 8 位整数,然后把这个整数转换成 二进制数并且逆序排列,再把得到的二进制数转换成十进制数,求与原日期一 致的日期。求得的日期要在上一次东京奥运会(1964 年 10 月 10 日)到下一 次东京奥运会(预定举办日期为 2020 年 7 月 24 日)之间。 例)日期为1966年7月13日时 ① YYYYMMDD格式→ 19660713 ② ...

骑者,且赶路 2141

《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q02)

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q02 数列的四则运算     在各个数字之间插入四则运算的运算符组成算式,然后计算算式的结果(某些数位之间可以没有运算符,但最少要插入 1 个运...

cloudly89的专栏 415

程序员的算法趣题Q02: 四则运算组合游戏

程序员的算法趣题Q02的解题思路说明及python解

chenxy_bwave的专栏 958

程序员的算法趣题

内容简介 本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以 Ruby、JavaScript 等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。 本书适合已经学习过排序、搜索等知名算法,并想要学习更多有趣算法...

GitChat 3863

程序员的算法趣题:Q22 不缠绕的纸杯电话(Java版)

题目说明 用绳子连接纸杯制作“纸杯电话”——这应该勾起了很多人对理科实验的回忆。 如果把绳子拉直,对着一边的纸杯讲话,声音就可以从另一边的纸杯传出。 假设有几个小朋友以相同间隔围成圆周,要结对用纸杯电话相互通话。 如果绳子交叉,很有可能会缠绕起来,所以结对的原则是不能让绳子交叉。 举个例子,如果有 6 个小朋友,则只要如下图一样结对, 就可以顺利用纸杯电话通话。也就是说,6 个人的时候,有 5 种结对方式。 求:有 16 个小朋友的时候,一共有多少种结对方式? 思路 1.将16个小朋友分成两组,每

lanying100的博客 396
上一篇: 《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q21)
下一篇: 《程序员的算法趣题》-(日)增井敏克 Python解题 -- (Q23)
JemmaLiu
博客等级 码龄15年 9粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值