a19890728 2010-04-27 17:03
浏览 219
已采纳

3道经典的算法题,看大家会不会。

  1. 写一个函数, 把字符串集合按照长度进行分拣 
    

    a) 输入: Set
    b) 输出: Map>, key 是输入字符串中的各种长度, value 是同一个长度的所有字符串的List.

  2. 要求将多个有序数组合并成一个数组,要求得到的最终结果数组有序排列,同时剔除两个数组中的重复数据。
    请设计一个简便算法。
    例如:第一个数组为1,3,5,9,11,18
    第二个数组为2,4,7,8,11,20
    要求得到的最终数组为1,2,3,4,5,7,8,9,11,18,20
    第一个数组为1,3,5,9,11,18
    第二个数组为2,4,7,8,11,20
    第三个数组为14,13
    要求得到的最终数组为1,2,3,4,5,7,8,9,11,13,14,18,20

  3. 有一个List集合,集合元素为Set对象,每一个Set对象含有元素为Character。
    要求设计一个算法得到Set对象所有元素可能组合。
    例如:List中有3个set对象,
    第一个set对象元素为11,12,13
    第二个set对象元素为99,AA,B,DD
    第三个set对象元素为7,8,34
    那么可能组合为
    11997,11998,119934,11AA7,11AA8,11AA34……

  • 写回答

4条回答 默认 最新

  • mginobili 2010-04-27 17:33
    关注
    1. 只要遍历set就可以了

    根据每个元素的长度 判断 放入map

    1. 把这些array放到一个list中,然后使用Collections.sort来实现

    2. 使用递归 不难实现


    实现 在java中使用现有工具类就可以简单实现了

    算法谈不上经典~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名