題目連結:
題目意譯:
給定整數陣列 nums,保證有唯一一個最大的元素。
判斷陣列中最大的元素是否至少為值陣列中其餘每個元素的兩倍大。
如果是,回傳最大元素的索引值。反之,回傳 -1 。
注:
nums 之長度位於範圍 [1, 50] 之間。
每個 nums[i] 會位於 [0, 99] 之間。
範例測資:
範例 1:
輸入: nums = [3, 6, 1, 0]
輸出: 1
解釋: 6 是最大的整數,而且對於每個其他的陣列中的元素 x,6 都至少是 x 的兩倍大。6 的索引值為 1 ,所以回傳 1。
範例 2:
輸入: nums = [1, 2, 3, 4]
輸出: -1
解釋: 4 並不是 3 的至少兩倍大。所以我們回傳 -1 。
解題思維:
找到陣列中最大的以及第二大的,然後比較最大的是不是第二大的兩倍大以上。如果是,則代表最大的一定是其他元素的兩倍大以上,所以回傳最大的元素之索引值;反之則不是,所以回傳 -1 。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。