給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o(n)。
示例 1:
輸入:[3, 2, 1]示例 2:輸出:1
解釋:第三大的數是 1.
輸入:[1, 2]示例 3:輸出:2
解釋:第三大的數不存在, 所以返回最大的數 2 .
輸入:[2, 2, 3, 1]分析:輸出:1
解釋:注意,要求返回第三大的數,是指第三大且唯一出現的數。 存在兩個值為2的數,它們都排第二。
class solution else if(data < first && data > second)else if(data < second && data > third)
}if(third != long.min_value)
//return new long(first).intvalue();
return (int)first;
}}
參考: LeetCode 414題 第三大的數
示例一 輸入 1,2 輸出 2 解釋 第三大的數不存在,所以返回最大的數 2 示例二 輸入 2,2,3,1 輸出 1 解釋 注意,要求返回第三大的數,是指第三大且唯一出現的數。存在兩個值為2的數,它們都排第二。注意點 最開始定義two和three時,不能寫成 int two integer.min ...
LeetCode 414 第三大的數
隨機一題 給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o n 示例 1 輸入 3,2,1 輸出 1 解釋 第三大的數是 1.示例 2 輸入 1,2 輸出 2 解釋 第三大的數不存在,所以返回最大的數 2 示例 3 輸入 2,2,3,1 輸出 ...
LeetCode 414 第三大的數
給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o n 示例 1 輸入 3,2,1 輸出 1 解釋 第三大的數是 1.示例 2 輸入 1,2 輸出 2 解釋 第三大的數不存在,所以返回最大的數 2 示例 3 輸入 2,2,3,1 輸出 1 解釋 ...