这一题我最开始走到了思维误区,认为应该把输入先按0切分开来,然后再考虑负数的情况。这种思维倒是符合正常的思维模式,但是思考到分开之后大量的子数组段保存需要较大空间,而且处理起来很复杂,这时候就应该思考一些别的思路而不是继续优化它了。 动态规划的思想似乎在这道题的样子里若隐若现,可惜不是加和而是相乘, ...
分类:
编程语言 时间:
2021-06-02 14:03:51
阅读次数:
0
动态规划——剑指 Offer 42. 连续子数组的最大和 题目: 思路: dp数组的定义:dp[i]是以 nums[i] 结尾的最大子数组和。 base_case:dp[0] = nums[0] 状态转移方程:dp[i]有两种「选择」,要么与前面的相邻子数组连接,形成一个和更大的子数组;要么不与前面 ...
分类:
编程语言 时间:
2021-05-20 17:50:09
阅读次数:
0
一.编写代码 1.思路分析 要求一个数组中最大子数组之和,可对数组中的子数组进行遍历,再对子数组中的值进行遍历,然后累加,存储到临时变量中,比较每一个子数组中的值之和,最后得出最大数组之和。 2.java代码 package homework; public class MaxSubArray { ...
分类:
编程语言 时间:
2021-03-16 13:30:05
阅读次数:
0
给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3, 2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [ 2,0, 1] ...
分类:
编程语言 时间:
2021-01-08 11:17:03
阅读次数:
0
题目 给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能 ...
分类:
编程语言 时间:
2021-01-04 10:57:05
阅读次数:
0
给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 样例1: 输入:[?2,2,?3,4,?1,2,1,?5,3] 输出:6 解释:符合要求的子数组为[4,?1,2,1],其最大和为 6。 样例2: 输入:[1,2,3,4] 输出:10 解释:符合要求的子数组为[1,2,3,4],其最大和 ...
分类:
编程语言 时间:
2020-09-18 02:19:04
阅读次数:
34
[编程题] lk 152. 乘积最大子数组-二维动态规划 题目 输入输出 方法1:使用一个二维的dp来表示当前节点的最大值和最小值情况 思想: ? 每个dp[i]位置用两个维度表示值信息,dp[i][0]表示目前的最大值情况,dp[i][1]表示目前的最小值情况如负数 ? ① 我们在遍历数组的时候, ...
分类:
编程语言 时间:
2020-07-30 22:21:57
阅读次数:
94
package shuzu; /* 152. 乘积最大子数组 给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: ...
分类:
编程语言 时间:
2020-07-24 15:31:39
阅读次数:
60
给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2 ...
分类:
编程语言 时间:
2020-07-12 14:34:54
阅读次数:
57
Maximum Subarray (E) 题目 Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and retur ...
分类:
其他好文 时间:
2020-07-03 09:14:00
阅读次数:
76