> For the complete documentation index, see [llms.txt](https://junnie.gitbook.io/amazon-mock-interview/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://junnie.gitbook.io/amazon-mock-interview/onsite-iii/479second-max-of-array.md).

# 479.Second Max of Array

## 1.Description(Easy)

Find the second max number in a given array.

### Notice

You can assume the array contains at least two numbers.

**Example**

Given`[1, 3, 2, 4]`, return`3`.

Given`[1, 2]`, return`1`.

## 2.Code

这个题不能用排序然后选择第二小的来做，因为当所有的值都一样大时应该输出这个值，而排序的话就会报错。

最开始的两个值大小，得出first max和second max，在后面的每个值和这两个值比大小来更新first 和second.

```
public int secondMax(int[] nums) {
        int first=Math.max(nums[0], nums[1]);
        int second=Math.min(nums[0], nums[1]);

        for(int i=2;i<nums.length;i++){
            if(nums[i]>first){
                second=first;
                first=nums[i];               
            }
            else if(nums[i]>second){
                second=nums[i];
            }
        }
        return second;
    }
```
