
算法题
文章平均质量分 64
spirit_djy
这个作者很懒,什么都没留下…
展开
-
编程之美中CPU运行曲线题目
在编程之美中有一道题目是将CPU的使用曲线按照要求显示,因此分析该题目的要点即是通过自己的程序控制CPU的使用率,按照要求合理的控制运算与Sleep的时间比。在这里默认特定条件下(当前CPU上只有本程序运行,其他程序运行的影响很小,可忽略不计),用Python程序实现了该程序,在电脑上执行,基本合乎要求,代码如下:#-*- coding: utf8 -*-"""控制CPU使用曲线"""原创 2016-01-21 18:40:46 · 947 阅读 · 0 评论 -
编程之美中CPU运行曲线题目(多核版本)
昨天完成了编程之美中的控制CPU运行曲线的题目,如果CPU为多核,导致其使用率最多只能用到某单核的100%,,而且可能会存在程序在核间转移等情况,所以针对多核需要一个单独的版本。有如下几点: 1)由于Python中GIL的存在,因此其多线程版本可能无效,而多进程则容易将不同进程分配到不同核上,容易一致; 2)每个核上直接启动一个单核版本程序是不行的,如果启动时间有误差或者中间执行误差,会导致不同步,因此需要在中间过程中一直同步; 如下是完成的代码,主进程仍然采用单核版本同步,其在计算使用率时将该值通过原创 2016-01-22 12:07:55 · 914 阅读 · 0 评论 -
约瑟夫环问题
最近看到一道题目,也就是约瑟夫环的变体,题目如下:一只猫抓住了n只老鼠,其将老鼠排成一圈,依次按照1~m报数,报m值的吃掉,直到只剩下一只老鼠时,猫将其放生,求获生的老鼠编号。原创 2016-01-10 12:15:58 · 472 阅读 · 0 评论 -
多个数排列形成最大值
数排列形成最大值标签(空格分隔): 编程题题目已知有一些数(大小不限定,不一定为个位数),如何将这些数排列在一起构成的数值最大?分析针对这个题目,最简单的办法就是通过全排列来查找最大值,不过我们可以看到依次选择最大的字面数来从左到右构成数即可保证最大值(因为所有能够形成的数的位数都是一样的,从左到右依次比较肯定能够满足最大),由于在从左到右依次选择时可能出现多条路径,因此需要考虑多种可能。解答def原创 2016-01-29 17:34:52 · 934 阅读 · 0 评论