算法题
文章平均质量分 69
nkorange
总要去面对
展开
-
位运算实现加法--2013-06-01
用位运算实现加法也就是计算机用二进制进行运算,32位的CPU只能表示32位内的数,这里先用1位数的加法来进行,在不考虑进位的基础上,如下1 + 1 = 01 + 0 = 10 + 1 = 10 + 0 = 0很明显这几个表达式可以用位运算的“^”来代替,如下1 ^ 1 = 01 ^ 0 = 10 ^ 1 = 10 ^ 0 = 0这样我们就完成了简转载 2013-06-01 21:35:31 · 572 阅读 · 0 评论 -
原地归并排序--2013-06-02
问题描述:数组a[n],a[0]~a[m]和a[m+1]~a[n-1]两个子数组分别是有序的,其中m源地址:http://www.geeksforgeeks.org/forums/topic/amazon-interview-question-for-software-engineerdeveloper-about-algorithms-arrays-28/我的思路:由于要原创 2013-06-02 23:33:39 · 521 阅读 · 0 评论 -
AMAZON面试题
问题描述: n个字符串,如何快速判断这n个字符串是否可以组成一个链,两个字符串可以组成链的条件是第一个字符串的开头或者结尾字母与第二个字符串的开头或结尾字母一样。思路:这是一个图的遍历问题,举例说明,有字符串:abcd,dcbb,deag,ak47,7b4b将这组字符串组成一个图:上图中,每条边有权值,遍历中经过该边一次,权值减一原创 2013-06-04 22:44:34 · 1064 阅读 · 0 评论 -
后缀数组的DC3构造法
本文的大部分内容都是在理解了这篇文章的大部分内容后而写:http://www.cppblog.com/superKiki/archive/2010/05/15/115421.aspx在字符串相关的问题中,后缀数组是一种很有效的武器。后缀数组至少可以解决如下一些问题(当然并不一定是所有下列问题的最优解法):1. 在一个字符串中找出一个子串,这个子串出现至少2次(或者指定出现k次)原创 2013-07-11 23:22:15 · 3749 阅读 · 0 评论 -
最大乘积子数组
《编程之美》上有一道关于在长度为n的数组中找到n-1个元素乘积最大的题目,不过这并不是本文要讨论的。本文讨论的是另一种情况,给定一个长度为n的浮点数组,找一个长度任意的子数组(子数组的元素在原数组中是连续存放的),这个子数组的乘积最大。通常,找一个满足指定条件子数组都会使用动态规划。递归缩小问题规模的同时,保持问题的数目不会指数增长。不过,本文的这个问题中,情况稍复杂一些,由于原创 2013-06-29 22:31:49 · 652 阅读 · 0 评论 -
一道矩阵输出题
在论坛上看到有人提出这么一个问题,输入数字n,输出对应的矩阵。例如,输入:1输出:1输入:2输出:1 2 4 3输入3:输出:7 8 9 6 1 2 5 4 3要求:尽可能占用较少空间,时间复杂度尽量低,且对于n较大时(如:n=1原创 2013-07-02 10:40:57 · 633 阅读 · 0 评论