其他分享
首页 > 其他分享> > 面经:去哪儿一面

面经:去哪儿一面

作者:互联网

  1. 自我介绍
  2. 算法题:对数组排序,取最大值,最小值,重复次数最多的值

其中排序使用的是:Arrays.sort(nums)
使用HashMap时,注意迭代的方式:Iterator iterator = map.keySet().iterator();
完整代码如下:

public class MapIterator {
  public static void main(String args[]) {
  	Scanner in = new Scanner(System.in);
  	int n = in.nextInt();
  	int[] nums = new int[n];
  	for (int i = 0; i < n; i++) {
  		nums[i] = in.nextInt();
  	}
  	
  	Arrays.sort(nums);
  	
  	HashMap<Integer, Integer> map = new HashMap<>();
  	for (int i = 0; i < n; i++) {
  		int count = map.getOrDefault(nums[i], 0);
  		if (count == 0) {
  			map.put(nums[i], 1);
  		} else {
  			map.remove(nums[i]);
  			map.put(nums[i], count+1);
  		}
  	}
  	
  	int max = Integer.MIN_VALUE;
  	int frekey = -1;
  	Iterator iterator = map.keySet().iterator();
  	while (iterator.hasNext()) {
  		int key = (int)iterator.next();
  		int count = map.get(key);
  		if (count > max) {
  			max = count;
  			frekey = key;
  		}
  		
  	}
  	
  	System.out.println("最大值:" + nums[n-1]);
  	System.out.println("最小值:" + nums[0]);
  	System.out.println("重复次数最多的值:" + frekey);
  }
}
  1. MySQL如何查看前50行数据(limit)
  2. MySQL如何查看一个查询语句是否使用了索引(explain)
  3. 项目中用的什么协议(http)
  4. get和post有什么区别
  5. 状态码500和502有什么区别
  6. 反问

标签:一面,map,哪儿,iterator,nums,int,面经,count,System
来源: https://www.cnblogs.com/yuanyunjing/p/15328903.html