码迷,mamicode.com
首页 >  
搜索关键字:子数组    ( 1941个结果
Leetcode - Best Time to Buy and Sell Stock
知道是求连续最大子数组后就简单了。但是注意边界条件,如果最大子数组之和<0,那就不要交易了, 返回0. public class Solution { public int maxProfit(int[] prices) { if(prices.length < 2) return 0; int n = prices....
分类:其他好文   时间:2014-10-19 00:06:49    阅读次数:146
Best Time to Buy and Sell Stock II
明白了上一题是求最大的连续子数组之和后,这题就更加简单了,遇到小于0的就不要加。 public class Solution { public int maxProfit(int[] prices) { if(prices.length < 2) return 0; int n = prices.length; ...
分类:其他好文   时间:2014-10-19 00:05:52    阅读次数:194
【LeetCode】Maximum Product Subarray 求连续子数组使其乘积最大
Add Date2014-09-23Maximum Product SubarrayFind the contiguous subarray within an array (containing at least one number) which has the largest product....
分类:编程语言   时间:2014-10-17 00:33:53    阅读次数:316
Maximum Product Subarray 求最大子数组乘积
这个求最大子数组乘积问题是由最大子数组之和问题演变而来,但是却比求最大子数组之和要复杂,因为在求和的时候,遇到0,不会改变最大值,遇到负数,也只是会减小最大值而已。而在求最大子数组乘积的问题中,遇到0会使整个乘积为0,而遇到负数,则会使最大乘积变成最小乘积,正因为有负数和0的存在,使问题变得复杂了不...
分类:编程语言   时间:2014-10-16 17:11:32    阅读次数:274
编程之美2.15 二维数组最大子数组的和(数组下标从(1,1)开始)
首先,我们看到这篇文章的题目,我们就会想到之前的那个题目 -- 连续子数组最大和问题。这个问题无疑就是把原问题扩展到二维的情况。      想起来这个问题也不是很难,我们可以求解一维矩阵的思想,即我们可以固定住行(或列),之后,我们去求解列(或行)所构成的最大和就可以了。 这里的解法利用的是固定住行,然后求解需要寻找的列之和,利用书中提到的一个公式: 以左上角的元素(1,1)和当前元素(i,j)为...
分类:编程语言   时间:2014-10-15 20:03:31    阅读次数:225
1014------算法笔记----------Maximum Product Subarray 最大乘积子数组
1.题目Find the contiguous subarray within an array (containing at least one number) which has the largest product.For example, given the array[2,3,-2,4]...
分类:编程语言   时间:2014-10-15 19:29:41    阅读次数:228
最大子数组问题
求连续子数组的最大和求子数组的最大和题目描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,-4,7,2,因此输出为该子..
分类:编程语言   时间:2014-10-15 04:42:20    阅读次数:240
编程之美2.14 求数组的子数组之和的最大值
这是一个在面试中出现概率很高的一道题目,就拿我来说吧,面试了5家公司中,两家公司问了这道题目,可见,这道题目是非常经典的。      解题思想也不是很难,我熟悉的有;两种解题办法:      1. 一直连加,终止当前序列的条件是连加的和是负数      因为,一个数加上一个负数之后肯定是没有原来的数值大,所以,这肯定是没有意义的,最终,我们利用这个思想得到如下的解法。      函数声明:ll D...
分类:编程语言   时间:2014-10-14 15:53:09    阅读次数:172
编程之美2.13 子数组的最大乘积
这道题目是求 n-1 个数的最大乘积,即数组大小为 n,则会存在 n 个 n-1 的连续数字,那么,我们需要寻找的是最大的那一个乘积。      其实看到题目,感觉很简单,循环走两遍数组就可以得到结果,但是,那样的话,复杂度是平方量级的,如果一个数组中元素很多,那么,时间效率上是不能接受的,所以,需要重新思考问题,寻找简洁的解法。      这里,我们可以利用辅助数组的办法,把需要乘在一起的数字保...
分类:编程语言   时间:2014-10-14 12:54:28    阅读次数:191
求子数组的最大和
输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18...
分类:其他好文   时间:2014-10-07 15:34:13    阅读次数:163
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!