小编chi*_*ohi的帖子

从整数集合中获取最高数字的最有效方法

问题:从整数集合中获取最高数字的最有效方法

我最近在讨论这个问题,我有两个解决方案.1)迭代集合并找到最大数字(下面的代码)2)使用排序算法.

第一种方法将具有O(n)效率

int getHighestNumber(ArrayList<Integer> list)
    {       
        if(list != null && list.size() > 0)
        {
            if(list.size() == 1)
                return list.get(0);

            int maxNum = list.get(0);
            for(int item:list)
            {
                if(item > maxNum)
                    maxNum = item;
            }
            return maxNum;          
        }
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是"任何排序算法都可以在任何给定的输入上击败它(例如,如果集合已经排序了吗?")有没有比这更好的方法?

java sorting algorithm

5
推荐指数
1
解决办法
127
查看次数

为什么使用Vector而不是Arraylist实现java.util.Stack

Java使用Vector实现Stack类,为什么?虽然看起来Arraylist应该是一个更好的选择.Java希望Stack是线程安全的,或者对于一般的Stack(我认为不是这种情况)是必须的线程安全还是有任何其他理论来使用Vector来实现Java中的Stack?

java stack vector arraylist

4
推荐指数
1
解决办法
585
查看次数

标签 统计

java ×2

algorithm ×1

arraylist ×1

sorting ×1

stack ×1

vector ×1