阿里搜索部面试

volatile关键字的作用

volatile是怎么保证可见性的

写作废
http://www.tianshouzhi.com/api/tutorials/mutithread/286

transient关键字的作用

copyOnWriteArray

https://juejin.im/post/5aaa2ba8f265da239530b69e

ArrayBlockingQueue

hashmap和hashtable区别

除了线程安全方面还有吗??

concurrentHashmap锁的粒度

算法题

评测题目: 假设你已经知道了今天股市的走势,找出最佳的买入点和卖出点。要求O(n)

买卖股票的最佳时机
https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/

 //O(n2),显然不符合要求
 public static int[] findBest(int[] arr)
    {
    	int begin,end;
        int currentDiff,maxDiff=Integer.MIN_VALUE;
        for(int i=0;i<arr.length;i++)
        {
        	for(int j=i;j<arr.length;j++)
            {
            	currentDiff = arr[j]-arr[i];
                if(currentDiff > maxDiff)
                {
                	maxDiff = currentDiff;
                    begin = i;
                    end = j;
                }
            }
        }
        
        return new int[]{begin,end};
    }

含有正数负数的数组,求和最大的连续子数组。要求O(n)

最大子序和(这道题的简化版)
https://leetcode-cn.com/problems/maximum-subarray/

//这是当时写的一个错误的答案
//累和,《=0就放弃那个串,重新开始。

 public static int[] findMax(int[] arr)
     {
     	 int sum = 0;
         int begin = 0,end = 0;
         int max= Integer.MIN_VALUE;
         
         for(int i=0;i<arr.length;i++)
         {
         	sum += arr[i];
            if(sum <= 0)
            {
            	begin = i+1;
            }
            if(sum > max)
            {
            	max = sum;
                end = i;
            }
         }
         
        return new int[]{begin,end};
         
//          int[] temp = new int[arr.length];
         
//          for (int i=0;i<arr.length;i++)
//          {
//          	sum += arr[i];
//             temp[i] = sum;
//          }
         
         
     }

结果

1、java基础理解还够深入。
2、代码这块写得一般化。

人生如梦,一樽还酹江月

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值