2013-06-21 Robert Zhang
分析:最直接的想法是如下代码: cpp bool on = false; for (int i = 1; i <=n; i++) if (n % i == 0) on = !on 但n最大可达数十亿,此法计算效率太低!那么能不能倒过来想:n可以被多少个不大于n的数整除?很容易给n分解质因数:more 继续阅读 »
2013-06-29 Robert Zhang
分析:用什么样的数据结构来表示投票有很多选择;如果选择了合适的数据结构,不但可以提高时间效率还可以简化编程。more ```cpp include include include include include include 继续阅读 »
2013-04-27 Robert Zhang
分析:此题根据如何来表示一条指令,有两种解法:一种是用一个整数(3位数)来表示,另一种用一个对象(含有3个成员,分别表示指令的3个位)来表示。前者的好处是存贮方便,但需要运行时“译码”;后者的好处是不需要运行时“译码”,但有额外的开销在对象的创建和复制上。根据网站的判题结果,二者的时间效率大体相当。more 继续阅读 »
2014-01-15 W.Y.
算法原理 基数排序 (Radix Sort) 是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。基数排序的发明可以追溯到 1887 年赫尔曼·何乐礼在打孔卡片制表机 (Tabulation Machine)上的贡献。 排序过程:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。 基数排序法会使用到桶 (Bucket),顾名思义,通过将要比较的位(个位、十位、百位...),将要排序的元素分配至 0~9 个桶中,借以达到排序的作用,在某些时候,基数排序法的效率高于其它 继续阅读 »
2017-04-18 LEo
最近有幸读了一本叫《好好说话》的书,学习到一些说话的方式和技巧,所以反思了下自己平时的说话方式,觉得有很多地方需要改进。当然,要突然改变自己的说话方式确实不太现实,因为一个人的说话方式很大程度取决于其性格,另外和受教育程度也有很大关系,但是可以慢慢来,一点点改变,一点点适应,尽量避免无效沟通,提高沟通的效率。本次先分享一个观点: 继续阅读 »
2016-12-16 MoreFreeze
Table of Contents {:toc} 最近被线上任务折磨得不行了,总是隔三差五出各种问题,导致日志丢了或者脚本没跑成功, 出了问题就需要手动去修复,比如手动把少的日志补齐,重跑失败的脚本。有些脚本之间有依赖关系, 手动跑起来就比较复杂,需要隔一会看一眼脚本有没有跑完,再接着跑下一个,严重影响效率。 所以我想如果有个程序能帮我定义好我的任务依赖关系,由它来自动解决运行时的依赖, 如果能有可视化界面看到执行状态,管理任务就更好了。 最近找到一个满足现在这些需求的开源项目—— airflow。 继续阅读 »
2017-02-13 LEo
去年8月份,写了一篇工作感想(一),时隔半年有余,也有些想法,特记录于此,主要有以下5点: 不断学习 工作心态的转变 学会拒绝 提高工作效率 要有备份习惯 继续阅读 »
2015-06-21 Eric Wang
Spring简介 Spring框架由Rod Johnson开发,Rod Johnson's twitter,Rod Johnson's 百度百科,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。 Spring总结起来优点如下 * 低侵入式设计,代码的污染极低 * 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺 * Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦 * Spring的AOP支持允 继续阅读 »
2013-08-30 Lingxian Kong
今天看《程序员面试宝典》时偶然看到讲数组和指针的存取效率,闲着无聊,就自己写了段小代码,简单分析一下C语言背后的汇编,可能很多人只注重C语言,但在实际应用当中,当出现问题时,有时候还是通过分析汇编代码能够解决问题。本文只是为初学者,大牛可以飘过~ C源代码如下: #include "stdafx.h" int main(int argc, char* argv[]) { char a=1; char c[] = "1234567890"; char *p = "1234567890"; a = c[1]; a = p[1]; return 0; 继续阅读 »
2013-11-21 veryyoung
【数据结构类】实现一个对链表排序的算法,C`C++可以使用std∶∶list Java使用LinkedList 要求先描述算法,然后再实现,算法效率尽可能高效。 基本思想: 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 算法过程 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小 继续阅读 »