上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 98 下一页
摘要: 17.8 给定一个整数数组(有正数和负数),找出总和最大的连续序列,并返回总和。解法:就是求连续子序列的和最大,不过存在一个问题:假设整个数组都是负数,怎么样才是正确的行为呢?看看这个简单的数组{-3,-10,-5},一下答案每个都可以说的通:-3(假设子序列不能为空)0(子序列的长度为空)INT_... 阅读全文
posted @ 2014-12-13 09:56 Jessica程序猿 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 17.7 给定一个整数,打印该整数的英文描述(例如“One Thousand,Two Hundred Thirty Four”)。解法:举个例子,在转换19 323 984时,我们可以考虑分段处理,没三位转换一次,并在适当的地方插入“thousand”(千)和“million”(百万)。也即,con... 阅读全文
posted @ 2014-12-13 09:45 Jessica程序猿 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 17.6 给定一个整数数组,编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的。注意:n越小越好,也就是说,找出符合条件的最短序列。解法:开始解题之前,让我们先确认一下答案会是什么样的。如果要找的是两个索引,这表明数组中间有一段有待排序,其中数组开头和末尾部分是排好序的。... 阅读全文
posted @ 2014-12-12 11:09 Jessica程序猿 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 17.5写一个函数来模拟游戏。游戏规则如下:4个槽,里面放4个球,球的颜色有4种,红(R ),黄(Y),绿(G),蓝(B)。比如, 给出一个排列RGGB,表示第一个槽放红色球,第二和第三个槽放绿色球,第四个槽放蓝色球。你要去猜这个排列。比如你可能猜排列是:YRGB。当你猜的颜色是正确的,位置也是正确... 阅读全文
posted @ 2014-12-12 08:31 Jessica程序猿 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 17.4 编写一个方法,找出两个数字中最大的那一个。不得使用if-else或其他比较运算符。解法:我们可以通过一步步的分析来将需要用到的if-else和比较操作符去掉:If a > b, return a; else, return b.If (a - b) using namespace std;... 阅读全文
posted @ 2014-12-11 22:04 Jessica程序猿 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 17.3写一个算法计算n的阶乘末尾0的个数?解答:首先,算出n的阶乘的结果再去计算末尾有多少个0这种方法是不可取的, 因为n的阶乘是一个非常大的数,分分种就会溢出。我们应当去分析, 是什么使n的阶乘结果末尾出现0。n阶乘末尾的0来自因子5和2相乘,5*2=10。因此,我们只需要计算n的阶乘里, 有多... 阅读全文
posted @ 2014-12-11 21:39 Jessica程序猿 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 17.2 设计一个算法,判断玩家是否赢了井字游戏。解法:假设这个检查某人是否赢得了井字游戏的函数为HasWon,那么我们第一步要向面试官确认, 这个函数是只调用一次,还是要多次频繁调用。如果是多次调用, 我们可以通过预处理来得到一个非常快速的版本。方法一:如果HasWon函数需要被频繁调用对于井字游... 阅读全文
posted @ 2014-12-11 21:04 Jessica程序猿 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 17.1 编写一个函数,不用临时变量,直接交换两函数。解法:方法一:这个是经典面试题,也相当直接。我们将用a0表示a的初值,b0表示b的初始值,用diff表示a0-b0的值。让我们将a>b的情形绘制在数轴上。首先,将a设为diff,即上面数轴的右边那一段。然后,b加上diff(并将结果保存在b中),... 阅读全文
posted @ 2014-12-11 20:03 Jessica程序猿 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 13.10 用C编写一个my2DALLoc函数,可分配二维数组。将malloc函数的调用次数降到最少,并确保可通过arr[i][j]访问该内存。解法:这道题目最简单的方法就是先开一个数组来存储指向每一行的指针, 然后再为每一行动态地分配空间。这是非常常见的动态申请二维数组空间的方法:int** My... 阅读全文
posted @ 2014-12-11 15:11 Jessica程序猿 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 13.9 编写支持对齐分配的malloc和free函数,分配内存时,malloc函数返回的地址必须都能被2的n次方整除。解法: 一般来说,使用malloc,我们控制不了分配的内存会在堆里哪个位置。我们只会得到一个指向内存块的指针,指针的起始地址不定。要克服这些限制条件,我们必须申请足够大的内存,要... 阅读全文
posted @ 2014-12-11 14:52 Jessica程序猿 阅读(134) 评论(0) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 98 下一页