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

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

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

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

Q10 轮盘的最大值

      流传较广的轮盘数字排布和设计有“欧式规则”和“美式规则”两种。下面我们要找出在这些规则下,“连续 n 个数字的和”最大的位置。

      举个例子,当 n = 3 时,按照欧式规则得到的和最大的组合是 36,11, 30 这个组合,和为 77;而美式规则下则是 24, 36, 13 这个组合,得到的和为73。

                                                                 

                                                                                  欧式规则

欧式规则
        0, 32, 15, 19, 4, 21, 2, 25, 17, 34, 6, 27, 13, 36, 11, 30, 8, 23, 10, 5, 24, 16, 33, 1, 20, 14, 31, 9, 22, 18, 29, 7, 28, 12, 35, 3, 26
美式规则
       0, 28, 9, 26, 30, 11, 7, 20, 32, 17, 5, 22, 34, 15, 3, 24, 36, 13, 1, 00, 27, 10, 25, 29, 12, 8, 19, 31, 18, 6, 21, 33, 16, 4, 23, 35, 14, 2


问题
      当 2 ≤ n ≤ 36 时,求连续 n 个数之和最大的情况,并找出满足条件"欧式规则下的和小于美式规则下的和"的 n 的个数。

import time

european = [0, 32, 15, 19, 4, 21, 2, 25, 17, 34, 6, 27, 13, 36, 11, 30, 8, 23, 10, 5, 24, 16, 33, 1, 20, 14, 31, 9, 22,
            18, 29, 7, 28, 12, 35, 3, 26]
american = [0, 28, 9, 26, 30, 11, 7, 20, 32, 17, 5, 22, 34, 15, 3, 24, 36, 13, 1, 00, 27, 10, 25, 29, 12, 8, 19, 31,
            18, 6, 21, 33, 16, 4, 23, 35, 14, 2]

# 常规算法
def max_sum(cal_list, n):
    res_max = 0
    for start_pos in range(len(cal_list)):
        if start_pos+n > len(cal_list):
            n_list = cal_list[start_pos:]
            n_list += cal_list[:start_pos+n-len(cal_list)]
        else:
            n_list = cal_list[start_pos:start_pos+n]
        n_sum = sum(n_list)
        if n_sum > res_max:
            res_max = n_sum
    return res_max

# 蠕虫算法
def worm_sum(cal_list, n):
    res_max = cal_sum = sum(cal_list[:n])
    for start_pos in range(0, len(cal_list)):
        end_pos = (start_pos + n) % len(cal_list)
        cal_sum = cal_sum - cal_list[start_pos] + cal_list[end_pos]
        if cal_sum > res_max:
            res_max = cal_sum
    return res_max

def calc_result(use_method):
    start_time = time.time()
    result_number = 0
    for n in range(2, 37):
        european_max = use_method(european, n)
        american_max = use_method(american, n)
        if european_max < american_max:
            result_number += 1

    print("满足条件的n的个数为:%s, (耗时 %0.5f s)" % (result_number, time.time()-start_time))

calc_result(max_sum)
calc_result(worm_sum)

 

运行结果:

            满足条件的n的个数为:9, (耗时 0.00398 s)
           满足条件的n的个数为:9, (耗时 0.00101 s)

程序员编程艺术:面试和算法心得.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

面试算法题

程序员的算法趣题pdf

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

weixin_30456039的博客 477

SRC漏洞挖掘实战:从攻击面管理到业务逻辑漏洞的精准狩猎

在网络安全领域,漏洞挖掘是识别和利用软件系统中安全弱点的核心实践。其基本原理在于通过系统化的方法,识别和评估一个应用或系统的攻击面,并从中定位安全防护的薄弱环节。这项技术的价值在于能够主动发现潜在风险,防患于未然,对于保障企业数字资产安全至关重要。典型的应用场景包括对Web应用、移动端API以及各类在线业务系统的安全性评估。在实际的漏洞挖掘,尤其是针对安全应急响应中心(SRC)的实战中,高效的策略往往聚焦于**边缘资产**的发现与利用,以及对**业务逻辑漏洞**的模式化测试。掌握这些经过验证的思路,能帮助安

babing2770的博客 414

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

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

weixin_42430871的博客 651

生信入门(六)——单细胞分析(Seurat)

生信入门(六)——单细胞分析(Seurat) 文章目录生信入门(六)——单细胞分析(Seurat)一、数据导入1、数据来源2、数据导入二、标准预处理1、QC和选择细胞进行进一步分析2、规范化数据3、识别高度可变的特征(特征选择)4、缩放数据三、主成分分析(PCA)1、线性降维2、确定数据集的“维度”四、聚类细胞五、非线性降维(UMAP/tSNE)六、寻找差异表达的特征(簇生物标志物) 一、数据导入 1、数据来源 点击此处下载数据 数据说明:分析10X Genomics提供的外周血单细胞(PBMC)数据集,有

羊羊的博客 6万+

大数据面试题(附答案,持续更新...)

说说对hadoop的理解,都有哪些组件,分别是干什么的 还了解大数据其他组件嘛? kafka在什么地方需要用到zookeeper 了解HBase吗? 说下spark中的transform和action 为什么spark要把操作分为transform和action spark中有了RDD,为什么还要有Dataframe和DataSet? 了解函数式编程吗?说下c/c++和scala这种函数式编程语...

xiaozhaoshigedasb的博客 9947

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q05 还在用现金支付吗     当下,坐公交或者地铁时大部分人都是刷卡的。不过,时至今日还在用现金支付的人还是比想象的多。本题我们以安置在公交上的...

cloudly89的专栏 332

CD-HIT的使用

继续我的生信笔记系列。从某网站的附带文献中读到该工具,搜索了一下,发现网上的大佬们都在讲如何用它去冗余,相对官方页面的介绍而言很是片面,于是刚好有聚类的需求的我准备对其全体功能做做实验,学习一下由李伟忠博士在伯纳姆研究所(现为桑福德伯纳姆医学研究所)亚当·戈兹克博士的实验室开发的牛工具。 首先是官方介绍: CD-HIT是一个非常广泛使用的程序,用于蛋白质或核苷酸序列的聚类和比较。最初由李伟忠博士在伯纳姆研究所(现为桑福德伯纳姆医学研究所)亚当·戈兹克博士的实验室开发,CD-HIT速度非常快,可以处理非常

一名学术waste的note pro 1万+

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q09 落单的男女     人们聚集在某个活动会场上,根据到达会场的顺序排成一排等待入场。假设你是活动的主办人员,想把人们从队列的 某个位置分成两...

cloudly89的专栏 336

Unity2019编译器下使用Ump无错误,打包exe不播放 或 将exe文件在其他电脑下运行不播放

一、unity编译器下使用UMP可以播放视频,打包后查看debug 出现错误 UnloadTime: 1.070900 ms Fallback handler could not load library F:/PCTest/AccessControlSysteam/jfmx_Data/Mono/libdl Fallback handler could not load library F:/PCTest/AccessControlSysteam/jfmx_Data/Mono/libdl.dll Fa.

qq_42345116的博客 4700

基于ESP32-S3与PCM5102的HiFi网络收音机复刻指南:从硬件设计到软件配置

本文提供了一份详细的基于ESP32-S3与PCM5102的HiFi网络收音机复刻指南。内容涵盖从核心硬件选型(如ESP32-S3主控与PCM5102 DAC芯片)、四路独立LDO供电设计,到软件环境配置、固件烧录及常见问题调试的全过程,旨在帮助创客打造一台支持网络电台、本地播放与蓝牙连接的高保真音频播放器。

weixin_30632267的博客 186

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q13 有多少种满足字母算式的解法     所谓字母算式,就是用字母表示的算式,规则是相同字母对应相同数字,不同字母对应不同数字,并且第一位字母的...

cloudly89的专栏 298

[QMT和ptrade量化交易小白入门]-121、如何用K-means聚类,每月自动筛选高流动性ETF

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 827

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q15 走楼梯     A上楼梯时, B 从同一楼梯往下走。每次不一定只走 1 级,最多可以一次跳过 3 级(即直接前进 4 级)。但无论走多少级...

cloudly89的专栏 313

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q14 世界杯参赛国的国名接龙     2014 年 FIFA 世界杯的 32 个参赛国                            ...

cloudly89的专栏 367

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q24 完美的三振出局     对喜爱棒球的少年而言,“三振出局”是一定要试一次的。这是一个在本垒上放置 9 个靶子,击打投手投来的球,命中靶子的...

cloudly89的专栏 322

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q25 鞋带的时髦系法     如图所示的这几种依次穿过 12 个鞋带孔的系法很有名(这里不考虑鞋带穿过鞋带孔时是自外而内还是自内而外)。   ...

cloudly89的专栏 318

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

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

cloudly89的专栏 369

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby(为主),JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q26 高效的立体停车场     立体停车场可以充分利用窄小的土地,通过上下左右移动来停车、出库,从而尽可能多地停车。     现在有一...

cloudly89的专栏 291

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q22 不缠绕的纸杯电话      绳子连接纸杯制作“纸杯电话”——这应该勾起了很多人对理科实验的回忆。如果把绳子拉直,对着一边的纸杯讲话,声音就可...

cloudly89的专栏 358

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q19 朋友的朋友也是朋友吗     “六度空间理论”非常有名。大概的意思是 1 个人只需要通过 6 个中间人就可以和世界上任何 1 个人产生间接...

cloudly89的专栏 274

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby(为主),JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q29 合成电阻的黄金分割比     我们在物理课上都学过“电阻”,通过把电阻串联或者并联可以使电阻值变大或者变小。电阻值分别为 R1、 ...

cloudly89的专栏 417

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

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

cloudly89的专栏 274

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q08 优秀的扫地机器人     假设有一款不会反复清扫同一个地方的机器人,它只能前后左右移动。举个例子,如果第 1 次向后移动,那么连续移动 3 ...

cloudly89的专栏 391

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

《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~ 在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6) Q23 二十一点通吃     赌场经典的二十一点游戏 A中,每回合最少下注 1 枚硬币,赢了可以得到 2 枚硬币,输了硬币会被收走。     假设...

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值