自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(244)
  • 收藏
  • 关注

原创 A家面经

Round 1 (Written)1. Given an array, output an array where every index contains nearest greatest element to that element on right side.2. Program to convert sorted array to Binary Search Tree3.

2014-02-27 14:52:15 1557

原创 L家面经

1. 实现一个Hashmap,考虑多线程环境;2.given the list {{1,1},2,{1,1}},返回10……因为,(four 1's at depth 2, one 2 at depth 1). 给定 {1,{4,{6}}} ,返回27……因为, (one 1 at depth 1, one 4at depth 2, and one 6 at depth 3)

2014-02-26 15:03:27 1438

原创 [各种面试题] 树的序列化和反序列化

树的序列化和反序列化这里使用的是Leetcode上的层序遍历的序列化的方法。string serialize(TreeNode* root){ string seq; queue Q; Q.push(root); while(!Q.empty()) { TreeNode* cur=Q.front(); Q.pop(); if(cur==NULL) seq.

2013-10-20 22:31:53 2711

原创 [各种面试题] 堆的实现

比较常规的题,试着写了下。int heap[100];int n;void adjust_down(int rt){ if(rtn) return; if ( rt*2>n ) return; else { int val=heap[rt<<1]; int child=rt<<1; if(rt*2+1<=n&&heap[rt*2+1]<val) {

2013-10-20 21:52:31 1458

原创 [各种面试题] 删除字符中的b和ac

删除字符中的b和ac删除字符分析原题删除字符串中的“b”和“ac”,需要满足如下的条件:1. 字符串只能遍历一次2. 不能够使用额外的空间例如:1. acbac ==> ""2. aaac ==> aa3. ababac ==> aa4. bbbbd ==> d进一步思考:如何处理aaccac呢,需要做哪些改变呢?in

2013-10-20 18:49:59 3357

原创 [各种面试题] 和大于S的最短子序列

和大于S的最短子序列给定长度为n的整数数列:a0,a1,..,an-1,以及整数S。这个数列会有连续的子序列的整数总和大于S的,求这些数列中,最小的长度。int findShortest2(vector& num,int s){ int n=num.size(); queue Q; int ans=n+1,qSum=0; for(int i=0;i<n;i++) {

2013-10-20 16:48:11 2926

转载 [智力题] 用信息熵解决天平跟毒药问题

用信息熵解决天平跟毒药问题才发现信息熵好神奇。。。http://blog.sciencenet.cn/blog-677221-669159.html

2013-10-20 11:52:20 1266

原创 [各种面试题] 等长链表单扫描求和

等长链表单扫描求和两个单链表(singly linked list),每一个节点里面一个0-9的数字, 输入就相当于两个大数了。然后返回这两个数的和(一个新list)。这两个输入的list 长度相等。 要求是:不用递归。要求算法在最好的情况下,只遍历两个list一次, 最差的情况下两遍。下面这个方法也只是看上去很美,其实也不是遍历了一遍,一前一后两个指针不也遍历了两遍吗。所

2013-10-19 21:20:08 1167

原创 [各种面试题] 请用Read4实现Read

请用Read4实现ReadF家的面试题,题意不太容易懂,大概就是有个read4每次读4字节,然后要实现一个int read(int size,char* buffer) 这样的函数。int read(int size,char* buffer){ assert(size>0&&buffer); static char extra[4]; static int extra_c

2013-10-19 16:54:05 3304

原创 [Leetcode] Word Break、Word BreakII

Word BreakGiven a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.For example, givens = "leetcode",

2013-10-19 13:42:43 7819

转载 [各种面试题] 小朋友拿糖果

小朋友拿数据http://www.itmian4.com/forum.php?mod=viewthread&tid=1133有两个小朋友,玩一个游戏,游戏的内容是:有一个数组,只有头和尾可以取数据,一次只能取得一个,谁拿到的数据和最大谁就赢了。现在假设两个小孩都足够聪明。你能否求出第一个小孩,取得的和是多少分析:首先让我想到的是动态规划,然后试图给出公式。不管哪个小孩,我们用dp[j]

2013-10-17 20:34:55 1475

原创 [各种面试题] 第K大的拥有个数不超过1的字符串

微策略的一道笔试题:0和1的字符串,要求找出所有1个数不超过k个的n长度的字符串中第I大的 有没有什么比从小到大遍历,然后数1个数是否符合条件更好的办法? 举几个例子就会发现,其实就是求I的二进制表示:比如 I=1 : 1I=2: 10I=7: 111所以下面就不讲了。

2013-10-15 14:42:16 1192

原创 [各种面试题] 匹配的字符串模式的个数

今天AMAZON的一道题,其实数据很弱,直接暴力都能过的。然后第一反应是用字典树,就是如果匹配到*号的时候,就把一层都往下搜索一遍。然后第二反应是用KMP,这样复杂度是O(n * (n+m ) )的。直接字符串读取一行还没弄出来。囧。#include#include#include#includeusing namespace std;bool isMatc

2013-10-15 14:26:15 1270

转载 [各种面试题] 找出三个只出现一次的数

题目:一个数组中有三个数字a、b、c只出现一次,其他数字都出现了两次。请找出三个只出现一次的数字。http://zhedahht.blog.163.com/blog/static/25411174201283084246412/分析:在博客http://zhedahht.blog.163.com/blog/static/2541117420071128950682/中我们讨论了

2013-10-15 13:12:18 1021

转载 [各种面试题] 子序列的个数、排列木桩

来自:http://blog.csdn.net/thebestdavid/article/details/11908961注意这里是求子序列的个数。子序列的个数题目详情: 子序列的定义:对于一个序列a=a[1],a[2],......a[n],则非空序列a'=a[p1],a[p2]......a[pm]为a的一个子序列,其中1例如:4,14,2,3和

2013-10-14 22:10:05 1069

转载 [各种面试题] 整数划分问题

http://www.cnblogs.com/xiaoxian1369/archive/2011/09/12/2174212.html:整数划分 --- 一个老生长谈的问题:  1) 练练组合数学能力.  2) 练练递归思想  3) 练练DP  总之是一道经典的不能再经典的题目:  这道好题求:  1. 将n划分成若干正整数之和的划分数。  2. 将

2013-10-13 21:21:11 4299

原创 [各种面试题] 最长重复子串-后缀数组

正好练习写一下后缀数组。#include#include#include#includeusing namespace std;struct node{ char* s; int start; node(char* ss,int t):s(ss),start(t){} bool operator<(const node& oth)const { ret

2013-10-11 18:07:17 926

原创 [各种面试题] 交叉大小的序列

这是G家的面试题:首先给你一个字符序列,比如 2,1 5,4 6 然后让你生成这么一个序列 ,其中  s1 s3 s5 这个还比较好说咯,把原来的序列排序,然后把后一半的数字插入到前一半的中间,就能得到了。你以为就完了吗,当然没有。接着会问你,怎么把全部的这种序列排出来。巧妙的生成我还想不到,我就用了个比较直观暴力的回溯来做了,每次选取一个没用过的数字到当前位置就好

2013-10-11 15:32:51 854

原创 [各种面试题] N个点来回路径最小

N个点来回路径最小:2013年Hulu面试中出现过。二维平面上有n个点,已按照x坐标从左到右排序(所有点的x坐标均不同),存放在数组points中。需要从最左边的点出发,先向右扫描访问一些点,到达最右边的点,然后再向左扫描,访问第一次没有访问的点,最后回到最左边的点。扫描过程中经过的总的欧式距离要最小。返回这个最小的欧式距离。样例:points

2013-10-09 20:13:47 3126

原创 [LeetCode] Palindrome Partitioning

Palindrome Partitioning Given a string s, partition s such that every substring of the partition is a palindrome.Return all possible palindrome partitioning of s.For example, given

2013-10-08 23:05:23 875

原创 [LeetCode] Palindrome Partitioning II

Palindrome Partitioning IIGiven a string s, partition s such that every substring of the partition is a palindrome.Return the minimum cuts needed for a palindrome partitioning of s

2013-10-08 22:56:22 744

原创 [各种面试题] 棋盘寻宝扩展

题目描述:现在有一个8*8的棋盘,上面放着64个不同价值的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于0小于100),一个人初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下角。从棋盘的左上角移动到右下角的时候的,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,但是拿到的所有的礼物的价值之和不大于一个限定值limit,请设计一个算

2013-10-08 20:20:16 1498

转载 [各种面试题] 矩阵覆盖求面积或者周长或者并的面积

首先求覆盖面积有两种方法:一是先离散化,然后分成 n*m个小格子,然后读入所有矩形,把矩形包含的所有小格子染色,最后统计被染色的格子的面积求和。二是用线段树+扫描线,很巧的方法,但是别人的代码我没有看懂。http://blog.csdn.net/dooder_daodao/article/details/6334169贴一个离散化的代码过来:#include#incl

2013-10-08 12:25:30 1975

转载 [各种面试题] 碰撞检测

来先个矩阵相交的:矩阵相交的条件是 ( P1,P2),  (P3,P4 ),两个矩形,满足  pp= (max(p1.x,p3.x),max(p1.y,p3.y)), pq=( min(p2.x,p4.x), min (p2.y,p4.y) )那么相交的条件是    pp.x然后是线段相交的:http://blog.csdn.net/greyant/article/

2013-10-08 10:31:30 1043

原创 [各种面试题] 两条路径的最大收获

题目不太记得清了,大意是有个MXN的棋盘,然后每个格子上有一个价值,需要从左上角走到右下角再走回来,但每个格子只能走一次,请问来回的最大收获是多少。找了个NOIP的原题:题目链接: http://soj.me/1767考查从 (1,1)到(m,n)找两条不相交的路径使得它们的权值和最大。      法1:动态规划      设 f [ k ][ i ][ j ] 表

2013-10-08 09:41:29 1622

原创 [各种面试题] 树的最小高度

题目描述:给定一棵无向树, 我们选择不同的节点作为根节点时,可以得到不同的高度(即树根节点到叶子节点距离的最大值), 现在求这棵树可能的最低高度。输入:输入可能包含多个测试案例。对于每个测试案例,输入的第一行为一个整数n(1 接下n-1行,每行包括两个整数u,v( 0输出:对应每个测试案例,输出这棵树可能的最小高度。

2013-10-07 23:10:38 1872

原创 [各种面试题] 买卖股票最多K次

题目描述:给定一个大小为n的数组,数组的元素a[i]代表第i天的股票价格。设计一个算法,计算在最多允许买卖k次(一买一卖记为一次)的条件下的最大收益。需要注意的是,你不能同时拥有两份股票。也就是说在下次买入前,你必须把手头上原有的股票先卖掉。输入:输入可能包含多个测试案例。对于每个测试案例,输入的第一行为两个整数n和k(1输入的第二行包括n个整数

2013-10-07 22:22:44 3993

原创 [各种面试题] 二叉树旋转查询

题目描述http://ac.jobdu.com/problem.php?pid=1541直接模拟就好了,但是我的代码后面的样例要超时。。。不知道为什么,把cin , cout 改成 scanf 之后居然就变成 output limit exceed 了,奇怪。算了,思路对的就行,懒得去搞了。#include#include#include#include#inc

2013-10-07 21:38:36 774

原创 [各种面试题] 黑白迷阵

题目描述:黑白迷阵是一个GrassLand编写的手机游戏,它的规则非常简单,有如下4*5的棋盘,其中一些是格子是黑色,一些格子是白色的,每当点击其中某一个格子,它以及它上下左右五个格子的颜色会发出反转,如下图                                游戏胜利的条件很简单,把所有的格子变为黑色即可。GrassLand想知道,给定一

2013-10-07 17:38:20 1220

原创 [各种面试题] 谷歌上机笔试--分数

题目描述:有一棵无限完全二叉树,他的根节点是1/1,且任意一个节点p/q的左儿子节点和右儿子节点分别是,p/(p+q)和(p+q)/q。如下图:它的层次遍历结果如下:1/1, 1/2, 2/1, 1/3, 3/2, 2/3, 3/1,...有如下两类问题:1.找到层次遍历的第n个数字。如,n为2时,该数字为1/2;2.给定一个数字p/q,输出它在层次遍历中的顺序,如

2013-10-07 16:48:26 826

原创 [各种面试题] 重叠的最长子串

重叠的最长子串:题目描述:给定两个字符串,求它们前后重叠的最长子串的长度,比如"abcde"和“cdefg”是"cde",长度为3。输入:输入可能包含多个测试案例。对于每个测试案例只有一行, 包含两个字符串。字符串长度不超过1000000,仅包含字符'a'-'z'。输出:对应每个测试案例,输出它们前后重叠的最长子串的长

2013-10-07 14:27:01 1338

原创 [各种面试题] 两个数组和的第K大

这是谷歌的一道面试题,有两个数组A和B,假设有一个数组C,C[i] = A[j] + B[ k ] , 即C中的元素是A和B中两个元素的和。让你求C中第K大的数字。之前有一篇转载的用堆来求的方法,因为每出堆一次最多添加两个元素进来,所以堆的最大容量是 2* k, 所以入堆出堆复杂度是 logK, 最后的复杂度是KlogK。注意添加的时候要判断是否已经进过堆。#include#

2013-10-07 14:04:20 3451 4

原创 [LeetCode] Single Number II

Single Number II Given an array of integers, every element appears three times except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could

2013-10-06 16:15:26 1940

原创 [LeetCode] Copy List with Random Pointer

Copy List with Random Pointer A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of t

2013-10-05 15:56:04 954

原创 [LeetCode] Unique Binary Search Trees II

Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.For example,Given n = 3, your program should return all 5 unique BST's shown below. 1 3

2013-10-02 16:05:34 666

原创 [各种面试题] N皇后问题非递归版

N皇后问题的非递归版本:#include#include#includeusing namespace std;const int N=4;vector rowPut(N+1,0);void print(){ vector > grid(N,vector(N,'.')); for(int i=1;i<=N;i++) grid[i-1][ rowPut[i] -1]

2013-09-23 20:26:31 806

原创 [LeetCode] Substring with Concatenation of All Words

Substring with Concatenation of All Words You are given a string, S, and a list of words, L, that are all of the same length. Find all starting indices of substring(s) in S that is a conca

2013-09-23 11:33:51 2356

原创 [各种面试题] 最大子矩阵和

有一个n*m的二维整型数组矩阵matrix,计算它的最大子矩阵和(允许子矩阵为空)。样例:它的最大子矩阵和为29,对应的子矩阵为图中蓝色线条圈出的矩阵。提示:时间复杂度O(n^3),可以先尝试完成最大连续子段和问题。流传很广的题了。void initAccSum(vector >& mat,vector >& accSum);int maxSeqS

2013-09-21 22:30:16 904

原创 [各种面试题] 单词游戏

一个n*m的字母网格grid,格子中的字母属于26个大写字母。选择某个格子作为起始点,每一步可以移动到上下左右相邻的格子中,这样遍历经过的字母组成了单词(每个格子只能访问一次)。判断是否能够在网格中找到给定的单词pattern。样例:n=3,m=4Grid:PACDBGHIMNDC对于pattern = "DCHGB",返回true。对于pattern = "PB

2013-09-21 20:38:41 1165

原创 [各种面试题] 复制有向图

复制一个有向图。输入是有向图中的一个结点指针,返回复制的图中对应的结点指针。有向图中结点的定义为:C++struct GraphNode { int data; vector neighbors; GraphNode(int data) : data(data) {}};跟复制带随即指针的链表其实是一样的。思路就是先复制新节点,然后复制连接关系,最后再把新复制

2013-09-21 19:25:50 1430

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除