1、经典算法面试题
1. 时针分针重合几次
表面上有60个小格,每小格代表一分钟,
时针每分钟走1/12小格,分针每分钟走1小格,从第一次重合到第二次重合分针比时针多走一圈即60小格,所以
60/(1-1/12)=720/11
每隔720/11分才重合一次(而并不是每小时重合一次)
1440里有22个720/11,如果说算上0点和24点,那也是重合23次而已,但我觉得0点应该算到前一天的24点头上,所以每一天循环下来重合22次啊
2. 找出字符串的最长不重复子串,输出长度
3. 说是有一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出
现的前十个词。
先用哈希,统计每个词出现的次数,然后在用在N个数中找出前K大个数的方法找出出现
次数最多的前10个词。
4. 如题3,但是车次文件特别大,没有办法一次读入内存。
5. 有一个整数n,将n分解成若干个整数之和,问如何分解能使这些数的乘积最大,输出这个乘积m。例如:n=12
6. 求数组n中出现次数超过一半的数
7. A文件中最多有n个正整数,而且每个数均小于n,n <=10的七次方。不会出现重复的数。
8. 有10亿个杂乱无章的数,怎样最快地求出其中前1000大的数。
9. 一棵树节点1, 2, 3, ... , n. 怎样实现:
10. 给定一个二叉树,求其中N(N>=2)个节点的最近公共祖先节点。每个节点只有左右孩
子指
11. 如何打印如下的螺旋队列:
21 22 。。。。
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13
12. 一个整数,知道位数,如何判断它是否能被3整除,不可以使用除法和模运算
13. seq=[a,b,...,z,aa,ab,...,az,ba,bb...,bz,...za,zb,...,zz,aaa...],求[a-z]+(从a到z任意字符组成的字符串)s在seq的位置,即排在第几
本质就是26进制。
2.实习与工作
我感兴趣的岗位有:游戏开发、工业控制与监控软件开发。
游戏开发岗位:要求:这个岗位多需求有一些小游戏的开发经验,且热爱游戏,逻辑思维清晰,熟悉他们公司开发游戏所使用的语言,并能很好滴和策划组沟通。具备条件:比较熟悉脚本语言开发,熟悉Unity3d引擎的开发,并尝试过纯C语言开发,以往在公司中曾独立开发过项目,能与策划良好沟通。不足:对大项目的具体流程不熟悉,编程基础不够扎实,学习能力不佳,对平台和引擎的研究不深。
工业控制与监控软件开发:这是一个新的概念,这因属于行业软件开发的一个分支,这种软件在国内工业园的升级、转移阶段拥有无法想象的巨大市场。要求:对工业行业要有一个完整的概念,而且熟悉各类底层驱动的开发,并要熟悉众多传感器的接口编程。