待字闺中
ojshilu
https://github.com/lucky521
展开
-
单链表和之恋 Bitwise add
题目和解答思路源自于待字闺中微信。题目:两个单链表,每一个节点里面一个0-9的数字, 输入就相当于两个大数了。然后返回这两个数的和(一个新list)。已知这两个输入的list 长度相等。 要求是:1. 不用递归。2. 要求算法在最好的情况下,只遍历两个list一次, 最差的情况下两遍。个人分析:如果这两个链表是按照数的低位在前、高位在后排的,那么作加法没有难度,进位发生在后面。原创 2013-09-18 19:20:01 · 1096 阅读 · 0 评论 -
翻译数字串 transform number to string
题目源自于待字闺中的微信。题目:给一个数字串,将其映射为一个字符串。映射关系为1->a, 2->b,..., 25->y, 26->z。对于一个输入串,判断能否进行转换。如果能的话,输出所有可能转换成的字符串。注意考虑指针到字符串结尾和字符串在倒数第1个字符的特殊情况。本方法为每种可能的转换情况申请了空间,空间复杂度不理想。#include #includ原创 2013-09-25 15:35:04 · 1029 阅读 · 0 评论 -
计算01矩阵中的0Group的数量 二维数组表示
题目源自于待字闺中的微信。题目:给定一个n*n的board里面是0或1算出里面独立的0group的数量。比如0 0 1 1 10 1 1 1 01 1 1 1 01 0 1 1 11 1 1 1 1答案:3。思路:虽然不是图,但是我仍然可以用图的DFS思想。我更没有必要用实现它对应的图。为了计数同时为了节省空间,把矩阵的元素本身来作为DFS时使用的标记量原创 2013-10-16 16:45:23 · 1922 阅读 · 0 评论 -
只用递归来判断括号是否匹配
题目来自于待字闺中的微信。要求:对一个字符串进行括号匹配,要求是使用递归,不可以使用任何循环语句。如"a(bc((def)(gh))i)j"思路:1、一般来讲,递归和循环是可以互相转换的。不允许使用循环,就要用递归结构来实现循环。2、括号匹配一般是使用栈结构。栈和递归又有很紧密的联系。下面是我的实现方法#include#define OK 1#def原创 2013-09-15 15:50:50 · 3497 阅读 · 0 评论 -
有重叠区间段中寻找最值 Pinterest面试题
题目源自于待字闺中的微信,是Pinterest公司的一道面试题。题目:给如下的数据格式:比如有一组数据:1, 3, 1002, 4, 2005, 6, 300……这些数据时间区间可能有重合的部分。比如在时间段2~3之间,value的和是100+200 = 300.。要求找出这组数据中最高的value和。思路: 不好的做法:看到题目原创 2013-12-10 10:38:55 · 2012 阅读 · 0 评论 -
交错字符串 Interleaving String
题目源自待字闺中的微信。判断字符串c是否是字符串a和字符串b按顺序的交错(interleave)。关键问题:判断一个字符串是否是另一个字符串的子序列。需要用O(n)时间来解决。int issubsequence(char *m, char *s){ if(m == NULL || s == NULL) return NULL; int i=0,j=0; while(原创 2013-09-17 13:46:10 · 1935 阅读 · 0 评论