07 2019 档案

摘要:思路: 1)申请长度为1亿的保存二进制位的数组 a, 2)通过位运算,将整数做为索引,将数组a对应的索引位置为1。 3)重复步骤2,直到最后一个整数放到数组中 4)从头开始遍历数组a,将值为1的索引id打印出来。 python 提供了bytearray这个动态的字节数据,以下代码就用bytearra 阅读全文
posted @ 2019-07-19 10:52 james_cai 阅读(581) 评论(0) 推荐(0)
摘要:问题描述: 对于一组不同重量、不可分割的物品,我们需要选择一些装入背包,在满足背包最大重量限制的条件上下,背包中物品总重量的最大值是多少呢? 比如对于一组物品,重量如下 画出递归树 虚线框表示预判断,放了之后超了,表示不执行了 有颜色的框表示之前的分支已经执行过了,有重复,不再执行。 相当于剪枝,大 阅读全文
posted @ 2019-07-15 15:53 james_cai 阅读(1451) 评论(0) 推荐(0)
摘要:一般说到八皇后问题,最先想到的就是回溯思想,而回溯思想往往是需要递归来实现的。 计算机很善长做重复的事情,所以递归正和它的胃口,而我们人脑更喜观平铺直叙的思维方式。当 我们看到递归时,总想把递归平铺展开,脑子里就会循环,一层一层往下调,然后再一层一层返回 试图想搞清楚计算机每一步都是怎么执行的,这样 阅读全文
posted @ 2019-07-12 10:39 james_cai 阅读(664) 评论(0) 推荐(0)
摘要:一图胜千言,插入排序的核心逻辑如下: 将数据分成两半,前一半是已排好序的,后一半是待排序的 每次取后一半中的第一个数,在已排序的一半中,逆序依次比较,找到要插入的位置 记录插入的位置,在最后判断是否需要插入即可 实现代码: def insertionSort(a:list): for i in ra 阅读全文
posted @ 2019-07-10 10:40 james_cai 阅读(780) 评论(0) 推荐(0)
摘要:``` def bubbleSort(): for i in range(len(a)): for j in range(i+1,len(a)): if a[j] 阅读全文
posted @ 2019-07-09 16:51 james_cai 阅读(217) 评论(0) 推荐(0)
摘要:spyder 使用pylint这个第三方库进行代码检查,其实pylint使用的代码规范默认也是pep8,不过该库还有 其它用途,在这里我专门写写在代码分析时,如何指定配置文件 一般来说,使用spyder进行代码分析后,结果信息展示如下: 但一般来说,有些规则我们其实时不想要的,比如C0301(单行长 阅读全文
posted @ 2019-07-08 10:59 james_cai 阅读(688) 评论(0) 推荐(0)
摘要:spyder 使用pep8作为代码规范的标准,默认单行长度是89个字符以内。 作为一个完美控,在使用spyer有的进行coding时,每当看到以下这个小小的warning时,心情都不是很爽: 89个字符只适合上世纪的CTR显示器而定制的。 现在大家都用上了24,27,32等宽屏显示器。所以非常有必要 阅读全文
posted @ 2019-07-08 10:50 james_cai 阅读(1374) 评论(0) 推荐(0)