网易有道笔试、面试【hao】

1. 最短前缀

 

问题描述:输出字符串的最短前缀匹配

例如:abc  abad  bc

最短前缀就为:abc  aba  b

Trie树的典型应用

 

 

2. 最大子矩阵和(DP)

 

 

3. 给定数组a[n], 任意两个元素做差,求最大差值

 

4. 木棍上随机放置若干个蚂蚁,方向不确定,如果蚂蚁碰面则各自往回爬,求最后一只蚂蚁爬离木棍的时间?

答案:离端点最远的那只蚂蚁爬出的时间为总时间。

 

 

5. 路标问题,判断是否为合法路标

 

问题描述:给定一个数组a[n],里面的每一个元素为一个路标,判定是否为一组合法路标(路标可能被风吹的反向),给定总距离

 

例如:从上海到北京全长为11,放置路标a[n]数组为{ 1  3  6  2   10 }

上述为合法数组,因为把2反向的话就为{1 3 6 9 10},满足递增序

 

思路:从a[0]开始,调整后面的元素,使序列递增,且使增量最小,如果整个序列都可以满足该条件,则是合法路标。

 

6. 大数相加,可能为浮点数

 

 

7. 二维数组排序,数组很大,size[i]表示i行有多少列,len表示有多少行

 

void sort(int **array, int *size, int len) //二维数组排序

 

 

8. a[n]代表n个木桶里面的球数,如何使桶中的球变均衡(尽量均衡,球数相差最多为1个),并且移动次数最少

 

思路:排序,求得平均值,后面的桶(球数多)向前面的桶移动球...如果平均值不是整数,移动球数需要更精确控制。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值