8/25 每日一題(數組中最大元素是其他元素的兩倍以上)
You are given an integer array nums where the largest integer is unique.
Determine whether the largest element in the array is at least twice as much as every other number in the array. If it is, return the index of the largest element, or return -1 otherwise.
Example 1:
Input: nums = [3,6,1,0] Output: 1 Explanation: 6 is the largest integer. For every other number in the array x, 6 is at least twice as big as x. The index of value 6 is 1, so we return 1.
Example 2:
Input: nums = [1,2,3,4] Output: -1 Explanation: 4 is less than twice the value of 3, so we return -1.
Constraints:
2 <= nums.length <= 500 <= nums[i] <= 100- The largest element in
numsis unique.
class Solution:
def dominantIndex(self, nums: List[int]) -> int:
max_n=max(nums)
max_ind=nums.index(max_n) #最大元素的索引
nums.pop(max_ind)#取出最大元素
for i in nums:
if i*2 > max_n:
return -1
return max_ind
----------------class Solution:
def dominantIndex(self, nums: List[int]) -> int:
biggest = max(nums)
half = biggest // 2
for i in range(len(nums)):
if nums[i] <= half and nums[i] != biggest:
continue
elif nums[i] >= half and nums[i] != biggest:
return -1
return nums.index(biggest)標籤: leetcode

0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁