给定一个长度为 n 的正整数数组,每个元素表示一座山的高度。 其中满足以下条件的连续子数组称为山脉: 1.长度大于等于3 2.存在下标 i ,满足 nums[0] < nums[1] < nums[2] < … < nums[i] , nums[i] > nums[i+1] > nums[i+2] … > nums[i+k] 请你找出最长山脉的长度 数据范围: , 数组中的元素满足

区块链毕设网qklbishe.com为您提供问题的解答

给定一个长度为 n 的正整数数组,每个元素表示一座山的高度。
其中满足以下条件的连续子数组称为山脉:
1.长度大于等于3
2.存在下标 i ,满足 nums[0] < nums[1] < nums[2] < … < nums[i] , nums[i] > nums[i+1] > nums[i+2] … > nums[i+k]
请你找出最长山脉的长度
数据范围: 给定一个长度为 n 的正整数数组,每个元素表示一座山的高度。    其中满足以下条件的连续子数组称为山脉:    1.长度大于等于3    2.存在下标 i ,满足 nums[0] &lt; nums[1] &lt; nums[2] &lt; ... &lt; nums[i] , nums[i] &gt; nums[i+1] &gt; nums[i+2] ... &gt; nums[i+k]    请你找出最长山脉的长度          数据范围:  , 数组中的元素满足 , 数组中的元素满足 给定一个长度为 n 的正整数数组,每个元素表示一座山的高度。    其中满足以下条件的连续子数组称为山脉:    1.长度大于等于3    2.存在下标 i ,满足 nums[0] &lt; nums[1] &lt; nums[2] &lt; ... &lt; nums[i] , nums[i] &gt; nums[i+1] &gt; nums[i+2] ... &gt; nums[i+k]    请你找出最长山脉的长度          数据范围:  , 数组中的元素满足

# -*- coding: utf-8 -*-   # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型 # class Solution:     """     题目:         https://www.nowcoder.com/practice/f4e974a50eda429fbf36515a4197b148?tpId=196&tqId=40556&rp=1&ru=/exam/oj&qru=/exam/oj&sourceUrl=%2Fexam%2Foj%3FjudgeStatus%3D3%26page%3D1%26pageSize%3D50%26search%3D%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D196&difficulty=undefined&judgeStatus=3&tags=&title=     算法:         left[i]表示以下标i结尾的连续递增子数组的长度,right[i]表示以下标i开头的连续递减子数组的长度。         初始化:             left[0] = 1             right[-1] = 1         状态转移方程:             left[i] = left[i - 1] + 1 if nums[i] > nums[i - 1] else 1             right[i] = right[i + 1] + 1 if nums[i] > nums[i + 1] else 1         遍历下标1 ~ n - 2,:             m = left[i] + right[i] - 1             如果山脉长度m大于等于3,更新res         找不到山脉,则返回0     复杂度:         时间复杂度:O(n)         空间复杂度:O(n)     """      def longestmountain(self, nums):         # write code here         n = len(nums)          left, right = [1] * n, [1] * n         for i in range(1, n):             if nums[i] > nums[i - 1]:                 left[i] = left[i - 1] + 1         for j in range(n - 2, -1, -1):             if nums[j] > nums[j + 1]:                 right[j] = right[j + 1] + 1          res = 0         for i in range(1, n - 1):             m = left[i] + right[i] - 1             if m >= 3:                 res = max(res, m)         return res   if __name__ == "__main__":     sol = Solution()      # nums = [2, 5, 2, 1, 5]      nums = [2, 2, 2, 2, 1]      res = sol.longestmountain(nums)      print res 

35:07

以上就是关于问题给定一个长度为 n 的正整数数组,每个元素表示一座山的高度。 其中满足以下条件的连续子数组称为山脉: 1.长度大于等于3 2.存在下标 i ,满足 nums[0] < nums[1] < nums[2] < … < nums[i] , nums[i] > nums[i+1] > nums[i+2] … > nums[i+k] 请你找出最长山脉的长度
数据范围: , 数组中的元素满足的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 给定一个长度为 n 的正整数数组,每个元素表示一座山的高度。 其中满足以下条件的连续子数组称为山脉: 1.长度大于等于3 2.存在下标 i ,满足 nums[0] < nums[1] < nums[2] < … < nums[i] , nums[i] > nums[i+1] > nums[i+2] … > nums[i+k] 请你找出最长山脉的长度 数据范围: , 数组中的元素满足