题目:
给你一个下标从 0 开始的整数数组 nums
。
如果下标三元组 (i, j, k)
满足下述全部条件,则认为它是一个 山形三元组 :
i < j < k
nums[i] < nums[j]
且nums[k] < nums[j]
请你找出 nums
中 元素和最小 的山形三元组,并返回其 元素和 。如果不存在满足条件的三元组,返回 -1
。
思考:
最容易想到暴力解法,遍历数组中的每一对三元组,然后取得其中的最小元素和。
代码如下:
class Solution(object):
def minimumSum(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
n = len(nums)
result = -1
for i in range(0, n):
for j in range(i+1, n):
for k in range(j+1, n):
if nums[i] < nums[j] and nums[k] < nums[j] :
sum = nums[i] + nums[j] + nums[k]
if result == -1 or result > sum:
result = sum
return result
提交通过: