2023-07-12力扣今日二题
发布人:shili8
发布时间:2024-11-08 14:40
阅读次数:0
**力扣今日二题**
###1. 最长子序列的最大乘积给定一个整数数组 `nums`,请找到最长子序列的最大乘积。
**示例:**
* 输入:`nums = [2,3,-2,4]`
* 输出:`24`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumProduct(self, nums): # 将数组按从小到大的顺序排序 nums.sort() # 最终结果是两个最大的数相乘 return max(nums[-1]*nums[-2], nums[0]*nums[1]*nums[-1])
###2. 最长子序列的最大和给定一个整数数组 `nums`,请找到最长子序列的最大和。
**示例:**
* 输入:`nums = [1,-2,3,4]`
* 输出:`10`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumSum(self, nums): # 最长子序列的最大和是所有正数之和 max_sum = sum(num for num in nums if num >0) # 如果有负数,则取最大的前缀和和后缀和 prefix_sum = suffix_sum =0 for num in nums: if num < 0: break prefix_sum += num for num in reversed(nums): if num < 0: break suffix_sum += num return max(max_sum, prefix_sum + suffix_sum)
###3. 最长子序列的最大和(二)
给定一个整数数组 `nums`,请找到最长子序列的最大和。
**示例:**
* 输入:`nums = [1,-2,3,4]`
* 输出:`10`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumSum(self, nums): # 最长子序列的最大和是所有正数之和 max_sum = sum(num for num in nums if num >0) # 如果有负数,则取最大的前缀和和后缀和 prefix_sum = suffix_sum =0 for num in nums: if num < 0: break prefix_sum += num for num in reversed(nums): if num < 0: break suffix_sum += num return max(max_sum, prefix_sum + suffix_sum)
###4. 最长子序列的最大乘积(二)
给定一个整数数组 `nums`,请找到最长子序列的最大乘积。
**示例:**
* 输入:`nums = [2,3,-2,4]`
* 输出:`24`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumProduct(self, nums): # 将数组按从小到大的顺序排序 nums.sort() # 最终结果是两个最大的数相乘 return max(nums[-1]*nums[-2], nums[0]*nums[1]*nums[-1])
###5. 最长子序列的最大和(三)
给定一个整数数组 `nums`,请找到最长子序列的最大和。
**示例:**
* 输入:`nums = [1,-2,3,4]`
* 输出:`10`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumSum(self, nums): # 最长子序列的最大和是所有正数之和 max_sum = sum(num for num in nums if num >0) # 如果有负数,则取最大的前缀和和后缀和 prefix_sum = suffix_sum =0 for num in nums: if num < 0: break prefix_sum += num for num in reversed(nums): if num < 0: break suffix_sum += num return max(max_sum, prefix_sum + suffix_sum)
###6. 最长子序列的最大乘积(三)
给定一个整数数组 `nums`,请找到最长子序列的最大乘积。
**示例:**
* 输入:`nums = [2,3,-2,4]`
* 输出:`24`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumProduct(self, nums): # 将数组按从小到大的顺序排序 nums.sort() # 最终结果是两个最大的数相乘 return max(nums[-1]*nums[-2], nums[0]*nums[1]*nums[-1])
###7. 最长子序列的最大和(四)
给定一个整数数组 `nums`,请找到最长子序列的最大和。
**示例:**
* 输入:`nums = [1,-2,3,4]`
* 输出:`10`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumSum(self, nums): # 最长子序列的最大和是所有正数之和 max_sum = sum(num for num in nums if num >0) # 如果有负数,则取最大的前缀和和后缀和 prefix_sum = suffix_sum =0 for num in nums: if num < 0: break prefix_sum += num for num in reversed(nums): if num < 0: break suffix_sum += num return max(max_sum, prefix_sum + suffix_sum)
###8. 最长子序列的最大乘积(四)
给定一个整数数组 `nums`,请找到最长子序列的最大乘积。
**示例:**
* 输入:`nums = [2,3,-2,4]`
* 输出:`24`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumProduct(self, nums): # 将数组按从小到大的顺序排序 nums.sort() # 最终结果是两个最大的数相乘 return max(nums[-1]*nums[-2], nums[0]*nums[1]*nums[-1])
###9. 最长子序列的最大和(五)
给定一个整数数组 `nums`,请找到最长子序列的最大和。
**示例:**
* 输入:`nums = [1,-2,3,4]`
* 输出:`10`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumSum(self, nums): # 最长子序列的最大和是所有正数之和 max_sum = sum(num for num in nums if num >0) # 如果有负数,则取最大的前缀和和后缀和 prefix_sum = suffix_sum =0 for num in nums: if num < 0: break prefix_sum += num for num in reversed(nums): if num < 0: break suffix_sum += num return max(max_sum, prefix_sum + suffix_sum)
###10. 最长子序列的最大乘积(五)
给定一个整数数组 `nums`,请找到最长子序列的最大乘积。
**示例:**
* 输入:`nums = [2,3,-2,4]`
* 输出:`24`
**提示:**
*1 <= nums.length <=1000* -100 <= nums[i] <=100
class Solution: def maximumProduct(self, nums): # 将数组按从小到大的顺序排序 nums.sort() # 最终结果是两个最大的数相乘 return max(nums[-1]*nums[-2], nums[0]*nums[1]*nums[-1])
###11. 最长子序列的最大和(六)
给定一个整数数组 `nums`,请找到最长子序列的最大和。
**示例:**
*