笔试遇到的编程题

来源:互联网 发布:2017微信用户数据报告 编辑:程序博客网 时间:2024/05/21 11:16

华为:

一个数组,将位置为奇数位的数字降序排列,偶数位升序排列

数组:1 3 2 9 5 8 4 7

位置:1 2 3 4 5 6 7 8

奇数位排序:5 4 2 1

偶数位排序:3 7 8 9

所以数组为:5 3 4 7 2 9 8 1 9


去哪儿:

1.Excel表中每列表头为A B C.....Z  AA AB........,比如输入【1,3】得到的是第一行第C列输出1,C,编写代码实现这个功能


2.有一个文本文件,内容如下,按照时间排序并统计每个人说话的次数(大概是这样)

  张三        你好!哈哈!    2015-09-01   18:30:29

  李四        你好!哈哈!    2015-09-01   18:50:29

  张三        你好!哈哈!    2015-09-02   18:10:29


3.输出小岛边界

http://www.nowcoder.com/discuss/2980

给定M*N的矩阵,岛屿表示为1,海水用0表示,要求按顺时针输出小岛边界坐标
例如矩阵为
0 0 1 0 0 0
0 1 1 1 1 0
0 0 1 1 1 0
0 0 0 1 1 0

输出为
0,2
1,3
1,4
2,4
3,4
3,3
2,2
1,1


美团:

1.有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。给定数组A及它的大小n,请返回最大差值。

如:[10,5],2  返回0



腾讯:

1.假设在32位机器上,请在2亿个随机的、未排序的32位整型数字中找出中间值

2.如果输入的字符串包含字母和#号,编写一个func,功能是除了中间和尾部的#,字符串中的其他#全部删除

3.现有大量英语文章,统计出里面每个单词出现的次数,考虑程序运行效率,给出思路(不考虑大小写,假设只含有英文字母)



广联达:

1.类似于抵达终点的最小跳数

给定一个非负整数数组,最初你被放在数组的第一个元素上,数组的每个元素代表你能跳的最大的步数。你的目标是用最少的跳数抵达最后一个元素。

例如,给定A = [2,3,1,1,4],抵达终点的最小跳数是2(下标0->下标1->下标4)。


2.逆波兰数求值,比如(2+3)*4可以写为* + 2 3 4,输入* + 2 3 4,返回20

http://blog.csdn.net/liyuefeilong/article/details/49181837


3.求数组中出现次数超过长度一半的数字(剑指offer原题)


美菜网:

1.BST二叉查找树,求根节点到叶子节点的路径之和的最小值

          6

    5          7

返回13



小米:

假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。
假如:n = 5,m = 3,r = {{1 , 2} , {2 , 3} , {4 , 5}},表示有5个人,1和2是好友,2和3是好友,4和5是好友,则1、2、3属于一个朋友圈,4、5属于另一个朋友圈,结果为2个朋友圈。
最后请分析所写代码的时间、空间复杂度。评分会参考代码的正确性和效率。
C/C++:
int friends(int n , int m , int* r[]);
Java:
int friends(int n , int m , int[][] r);




数梦工厂

1.判断两个字符串是否同构,如add和egg,将a换为e,d换为g,add就可以变为egg所以是异构字符串。


Grandyang:[LeetCode] Isomorphic Strings 同构字符串



2.leetcode中分糖果那道题



其他:

1.输出一个数字的字符串表示,如123,输出为一百二十三

0 0
原创粉丝点击