UDN-企业互联网技术人气社区

板块导航

浏览  : 3275
回复  : 12

[面试经历] 阿里2016 Java笔试问答题

[复制链接]
1018ji的头像 楼主
发表于 2015-9-15 18:25:09 | 显示全部楼层 |阅读模式
第一题:
  


  

  

  第二题:
  

  

  

  

  第三题:
  

  

  

  

发表于 2015-9-15 19:25:03 | 显示全部楼层

话说只会第一个。。。。。。。。。。。
使用道具 举报

回复

发表于 2015-9-15 21:56:05 | 显示全部楼层

第一题:如果只求出出现三次的,是不是可以对所有元素进行异或?因为异或,相同的为0,最后比然只剩下一个就是为3的那个
使用道具 举报

回复

发表于 2015-9-16 00:19:38 | 显示全部楼层

哎,我用的二叉查找树。。。看了nlogn被诱导了,,,看到log就跟树扯上了。。。
使用道具 举报

回复

发表于 2015-9-16 02:51:05 | 显示全部楼层

直接遍历一边,异或就行啊,时间复杂度是O(n)
使用道具 举报

回复

发表于 2015-9-16 05:02:02 | 显示全部楼层

我的想法:   第一题:利用异或操作,所有元素异或,结果即是。O(n)   第二题:关键是购买的方法要同步吧,考虑synchronized或ReadWriteLock,记录用户购买情况可用ConcurrentHashMap,购买前要验证是否达到筹集资金了,这里要同步。还要记录当前已经筹集的金额,标记变量要volitile等等。唉,不好做啊。   第三题:这就是数字图像降噪吧,就是平滑滤波的方法,这里既然给了maxPixel,那意思可能是用最大值滤波法来处理。
使用道具 举报

回复

发表于 2015-9-16 06:10:44 | 显示全部楼层

居然考图像处理。。真TDM醉了
使用道具 举报

回复

发表于 2015-9-16 07:00:20 | 显示全部楼层

第一道题目用异或,依据0和任何数异或结果为该数本身,任何数与自己异或结果为零。   第二题使用BlockingQueue,依据生产者消费者模式构造,定义A,B,C三个程序,A根据随机生成用户购买钱数,放入BlockingQueue  QA中,B从QA取出根据不同用户ID进行扣减得到真确金额,插入到ConcurrentHashMap中,C从ConcurrentHashMap中取出结果进行统计,程序共有两队生产者和消费者   A-B和B-C,具体可参考《Java并发编程实战》第五章 基础构造模块   第三题依据:图片的黑线大多作为不同颜色的分割线,随机添加的黑线没有规则,因此根据一下原则更改图片:   对于正常黑线点阵中的点,与之相邻的点至少应该有两种颜色   随机添加的黑色的点,与之相邻的点大多只有一种颜色   根据整个规则修改随机添加的黑线中的点,改为它周围的颜色就好了!     思路答题就是如此,仅供参考!
使用道具 举报

回复

发表于 2015-9-16 09:05:29 | 显示全部楼层

public class Find {       public  static void findTreetimes(int []A)   {        int  n=A.length;           int result=0;           for(int i=0;i<n;i++)           {                              result^=A[i];                                                       }                             System.out.print("输出"+result);        }               public static void main(String[] args) {                 int []A={88, 459, 5262, 88, -17, 677, 88,677, -17,  459, 5262};                              findTreetimes(A);                                                                              }     }
使用道具 举报

回复

发表于 2015-9-16 10:29:02 | 显示全部楼层

莫小徐,题目要求的空间复杂度是O(1),你这n了吧
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部