2014-04-28
22:05题目:写个程序判断三连棋哪一方赢了。解法:三个相同的棋子连成一条横线,竖线或者对角线就判断为赢了。代码: 1 // 17.2 Write an
algorithm to check if someone has won the tic-tac-toe game. 2 ...
分类:
其他好文 时间:
2014-04-29 18:12:07
阅读次数:
474
2014-04-28
22:32题目:不用if语句或者比较运算符的情况下,实现max函数,返回两个数中更大的一个。解法:每当碰见这种无聊的“不用XXX,给我XXX”型的题目,我都默认处理的是int类型。最高位是符号位,用x
- y的符号位来判断谁大谁小。请看下面代码,条件表达式配合异或运算能满足题目...
分类:
其他好文 时间:
2014-04-29 18:10:05
阅读次数:
395
2014-04-28
22:18题目:计算N的阶乘尾巴上有多少个零?解法:计算5的个数即可,因为2 * 5 = 10,2的个数肯定比5多。计算5的个数可以在对数时间内搞定。代码: 1
// 17.3 Count how many zeros are there in n!? 2 // Count t...
分类:
其他好文 时间:
2014-04-29 17:45:30
阅读次数:
365
2014-04-28
21:45题目:就地交换两个数,不使用额外的变量。解法:没说是整数,我姑且先当整数处理吧。就地交换可以用加法、乘法、异或完成,其中乘法和加法都存在溢出问题。三种方法都不能处理交换同一个数的情况,需要条件判断。代码:
1 // 17.1 Do a swapping in-plac...
分类:
其他好文 时间:
2014-04-29 17:19:40
阅读次数:
343
2014-04-28
22:44题目:猜数字游戏。四个数字,每个都是0~9之间。你每猜一次,我都告诉你,有多少个位置和数字都对(全对),有多少个位置错数字对(半对)。比如“6309”,你猜“3701”,就有1全对,1半对。解法:依照题意写就可以了。代码:
1 // 17.5 I am the Mas...
分类:
其他好文 时间:
2014-04-29 17:10:21
阅读次数:
384
2014-04-28 23:35题目:最大子数组和问题。解法:O(n)解法。代码: 1 //
17.8 Find the consecutive subarray with maximum sum in an array. 2 // O(n)
online algorithm. 3 #include...
分类:
其他好文 时间:
2014-04-29 16:35:28
阅读次数:
429
2014-04-28
22:49题目:给定一个整数数组。如果你将其中一个子数组排序,那么整个数组都变得有序。找出所有这样子数组里最短的一个。解法:线性时间,常数空间内可以解决,思想类似于动态规划。通过正反扫描两次,可以得出这个区间的两端。只要存在i
a[j],那么这个区间[i, j]就必须被排序,....
分类:
其他好文 时间:
2014-04-29 16:11:53
阅读次数:
408
2014-04-28
23:52题目:设计算法,找出一本书中某个单词的出现频率。解法:数就行了。代码: 1 // 17.9 Given a book, find out the
occurrences of any given words in it. 2 // Answer: 3 // 1....
分类:
其他好文 时间:
2014-04-29 16:00:32
阅读次数:
388
2014-04-28
23:28题目:给定一个数字,用英语把它读出来。解法:ZOJ上有相反的题目。如果我要用中文读书来呢?代码: 1 // 17.7 Read an integer
in English. 2 #include 3 #include 4 using namespace s...
分类:
其他好文 时间:
2014-04-29 15:29:44
阅读次数:
423
2014-04-28
23:54题目:XML文件的冗余度很大,主要在于尖括号里的字段名。按照书上给定的方式进行压缩。解法:这题我居然忘做了,只写了一句话的注解。用python能够相对方便地实现,因为有直接的XML工具可以调用。书上的那种要求应该是符合前序遍历规则。代码:1
# 17.10 Parse...
分类:
其他好文 时间:
2014-04-29 15:22:37
阅读次数:
329