同时找到最大值和最小值——编程之美
给定一个数组,我们可以同时找到其中的最大数和最小数吗?要求时间复杂度尽可能的小。
编程之美上面提供了三个思路,我把它们都实现了,并做一些讲解补充。
思路一:
两次遍历,分别得到最大值和最小值。时间复杂度为O(2*N)。
思路二:
把最前面的两个数作为最值的候选,然后后面的数两...
分类:
其他好文 时间:
2015-02-03 19:41:01
阅读次数:
217
题目:《编程之美》 P194
写一个时间复杂度尽可能低的程序,求一个数组(length个元素)中最长递增子序列的长度。
注意,本题认为最长递增子序列可以有相等的元素,如 (1,2,2,3,3,4,5,6)。...
分类:
编程语言 时间:
2015-02-03 15:09:03
阅读次数:
158
求一个数的最大公约数的三种思路——解题笔记
编程之美上的题目:求一个数的最大公约数。
这道题目有三种解题思路,总结如下:
思路一:
直接使用辗转相除法,这个不多介绍,代码如下:
// 直接辗转相除法
int gcd1(int a, int b)
{
for(int m = a%b; m != 0; m = a%b)
{...
分类:
其他好文 时间:
2015-02-03 11:09:26
阅读次数:
191
一个在常见的题目,但是看到编程之美的时候才发现,方法真多,今天来总结一下:
解法一
可以举出一个八位的二进制例子来进行分析。对于一个二进制操作,我们知道,除以一个2,原来的数字将会减少一个0,如果除的过程中有余,那么就表示当前位置有一个1.
以10 100 010为例:
第一次除以2时,商为 1 010 001,余为 0。
第二次除以2时,商为 101 000,余为1。
因此可以根据整...
分类:
其他好文 时间:
2015-01-30 16:14:34
阅读次数:
129
题目
1、给定一个整数N,那么阶乘N!末尾有多少个0呢?
2、求N!的二进制表示中最低位1的位置?
先来看怎么计算阶乘,当然可以是循环,也可以是递归,上代码:
public long factorial1(int n) {
long sum = 1;
for (int i = 1; i <= n; i++) {
sum *= i;
}
r...
分类:
其他好文 时间:
2015-01-30 16:00:56
阅读次数:
117
终于放假了,开始在家里看一本向同学借来被程序猿尊称的必看经典书之一---《编程之美》。这本书给我的第一感觉是,他不单单是一本介绍算法的书,更不是一本纯算法的书,更多的是跟生活的很多实际问题息息相关,让你能更多地思考当我们面对现实实际问题的时候如何用自己从之前书本学习到的理论的知识去解决他们,如何以理论联系实际。这个寒假都会更新从这本书中学习来的知识,也希望有相同兴趣的人可以一起共同交流。那么就开始...
分类:
其他好文 时间:
2015-01-30 10:47:47
阅读次数:
103
题目2 : 树时间限制:4000ms单点时限:2000ms内存限制:256MB描写叙述有一个N个节点的树,当中点1是根。初始点权值都是0。一个节点的深度定义为其父节点的深度+1,。特别的,根节点的深度定义为1。如今须要支持一系列下面操作:给节点u的子树中,深度在l和r之间的节点的权值(这里的深度依旧...
分类:
其他好文 时间:
2015-01-28 14:31:24
阅读次数:
604
求二进制数中1的个数
题目描述:对于一个字节1BYTE = 8 bits的无符号变量,求其二进制表示中1的个数,要求算法的执行效率尽可能高。
题目分析:可以吧这个问题转化为判断这个数的最后1位数是否等于1,然后逐渐往右移位,不断判断下去,直到该数为零。
按照这种分析,那么就有两部分需要做:
1)判断最后一位是否为零;
2)如果右移位。...
分类:
其他好文 时间:
2015-01-22 09:27:17
阅读次数:
155
1. 简要介绍 关于二叉树问题,由于其本身固有的递归属性,通常我们可以用递归算法来解决。(《编程之美》,P253) 总结的题目主要以leetcode题目为主。2. 测试用例 功能测试:平衡的二叉树,不是平衡的二叉树,二叉树中所有节点都没有左/右子树 特殊输入测试:二叉树只有一个节点,二叉树...
分类:
其他好文 时间:
2015-01-20 21:59:39
阅读次数:
145
1、程序猿最烦两件事,第一件事是别人要他给自己的代码写文档,第二件呢?是别人的程序没有留下文档。2、程序猿的读书历程:x 语言入门 —> x 语言应用实践 —> x 语言高阶编程 —> x 语言的科学与艺术 —> 编程之美 —> 编程之道 —> 编程之禅—> 颈椎病康复指南。3、还没上大学的时候,高...
分类:
其他好文 时间:
2015-01-20 13:29:52
阅读次数:
264