小编use*_*818的帖子

在数组中搜索缺失的数字时的性能

给定是一个列表,其中包含1-20之间的所有2个数字(随机排序).我需要找到那两个数字.

这是我提出的(工作)计划:

public static void main(String[] args) {
    int[] x= {1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
    ArrayList al= new ArrayList();
    Map map= new HashMap();
    for(int i=0;i<x.length;i++)
    {
        map.put(x[i], x[i]);
    }
    for(int i=1;i<=20;i++)
    {
        if(map.get(i)==null)
            al.add(i);
    }
    for(int i=0;i<al.size();i++)
    {
        System.out.println(al.get(i));
    }
}
Run Code Online (Sandbox Code Playgroud)

我想从性能的角度(内存和bigO(n))知道程序是否良好?

java algorithm performance search arraylist

3
推荐指数
1
解决办法
1513
查看次数

此scala方法的返回类型:String vs Any

 def loop2 (arr: List[String]) : List[String]= {
   arr.map(ele =>
      if (ele.startsWith("2")) ele)
 }
Run Code Online (Sandbox Code Playgroud)

我认为该方法应该返回一个List [String],但编译器说它应该返回List [Any].

映射中的匿名函数可以返回String或什么都不是,这意味着输出可以是空列表或List [String].

请解释为什么返回类型应为List [Any]

scala

0
推荐指数
1
解决办法
128
查看次数

标签 统计

algorithm ×1

arraylist ×1

java ×1

performance ×1

scala ×1

search ×1