
编程面试题
文章平均质量分 77
LarryNLPIR
专注NLP/IR/Machine Learning/Data Mining
展开
-
Hackerrank Connected Cell in a Grid
Problem StatementYou are given a matrix with m rows and n columns of cells, each of which contains either 1or 0. Two cells are said to be connected if they are adjacent to each other horizontally, ver原创 2015-03-16 02:59:11 · 3992 阅读 · 0 评论 -
A*搜索算法的JAVA实现 解棋盘爵士游历问题 BFS
A knight moves on a chessboard two squares up, down, left, or right followed by one square in one of the two directions perpendicular to the first part of the move (i.e., the move is L-shaped). Suppos原创 2015-03-15 11:24:27 · 1911 阅读 · 0 评论 -
面试题 从很长的数据流等概率随机采样 蓄水池抽样 Reservoir Sampling
题目:有一个网页抓取器每秒钟抓取一个网页,定义一个API,每次调用的时候要等概率的从目前已经抓取的网页中随机选取一个,应该怎么实现?分析:这题题目定义有一定迷惑性,最直接的思路貌似应该是先保存当前采集到的所有网页,然后随机采样,这显然不是这题的考点。这题想只用O(1)的空间。其实就等价于有一个很长的数据流,数据量大到无法载入内存,怎么做随机等概率采样?容易想到的思路是产生一个0到1之间的随机数,然转载 2015-02-24 11:47:58 · 12861 阅读 · 0 评论 -
面试题:如何在一千万个不重复整数(电话号码)中查找某个特定数 位运算 bitmap
面试题:某城市有一千万个电话号码,如何快速找到某个电话号码,考虑优化时间和空间复杂度,同时考虑内存限制。同类变形:Given 2MB memory, we want to store 5 million integers in 0~10million range. These integers are unique.1. How to store these integers?2.Given a原创 2015-01-19 16:52:45 · 6029 阅读 · 2 评论 -
面试题-在一本书的乱序页码中找缺失的页码
这是我面试A公司时碰到的算法题,题目大意是一本书缺了一页,然后书页顺序被打乱,问如何迅速找到缺失的那一页?思路:其实就是在乱序数组里面找缺失的一个数,有以下方法1、直接排序,然后遍历一次 时间复杂度O(NlogN),不需要额外空间2、用bitmap思想,开一个大数组,可以用bitset以节省空间,遍历一遍该数组,出现的数字置位为1,遍历完毕后,没有置位的那一位对应的数就是缺失的数字,原创 2012-03-17 23:16:48 · 4226 阅读 · 6 评论 -
STL Contianers容器精辟总结
STLContianers容器精辟总结一、序列容器(Sequence containers)1、 Vector :一种序列容器,实现为动态数组,元素保存在连续的存储位置,支持迭代器和索引访问。与数组不同的是,可以自动分配存储空间,容易改变容器大小。当需要频繁从序列尾部增加或者删除数据时,可以表现出高效的性能。size记录了当前容器大小,capacity记录了当前已分配的最大空间。2、原创 2012-02-26 19:06:57 · 2525 阅读 · 0 评论 -
关于字符串的面试题总结
看到关于字符串的面试题总结,第一题我就曾经遇到过- -摘录于下, 来源: http://rjwyr.blog.163.com/blog/static/112986400201153061911864/字符串操作 #include #include #include #include #include using namespace std;转载 2011-12-25 22:50:23 · 3304 阅读 · 4 评论 -
挑战最强大脑——来自全球的14个编码社区
摘要:史蒂夫·乔布斯说过,每个人都应该学习给电脑编写程序的技术,因为这一过程能够教你如何去思考!文中搜集了14个不错的学习资源,帮助你挑战自我,领略并探索计算机领域无穷奥秘。史蒂夫·乔布斯说过,每个人都应该学习给电脑编写程序的技术,因为这一过程能够教你如何去思考!众所周知,编程已成为开发者生命中至关重要的一部分。很多事实表明,越来越多的人不管男女老少都将参与编程这个行业。 学习编程的渠道有很多种,转载 2015-03-21 11:30:54 · 2711 阅读 · 0 评论