最大乘积(Maximum Product)
2015-02-26 12:50
381 查看
Maximum Product
Submit
Status
Description
S. If you cannot find a positive sequence, you should consider
0 as the value of the maximum product.
Si is an integer such that -10 ≤ Si ≤ 10. Next line will have
N integers, representing the value of each element in the sequence. There is a blank line after each test case. The input is terminated by end of file (EOF).
M is the number of the test case, starting from 1, and
P is the value of the maximum product. After each test case you must print a blank line.
【分析】
采用暴力枚举。连续子序列有两个要素:起点和终点,因此只需枚举起点和终点即可。
需要注意两点:1、每次测试数据结果将会有一行空行输出;2、Maximum product 结果不能用 int 来存,否则可能出现溢出。
用java语言编写程序,代码如下:
Time Limit:3000MS | Memory Limit:Unknown | 64bit IO Format:%lld & %llu |
Status
Description
Problem D - Maximum Product
Time Limit: 1 second
Given a sequence of integers S = {S1, S2, ..., Sn}, you should determine what is the value of the maximum positive product involving consecutive terms ofS. If you cannot find a positive sequence, you should consider
0 as the value of the maximum product.
Input
Each test case starts with 1 ≤ N ≤ 18, the number of elements in a sequence. Each elementSi is an integer such that -10 ≤ Si ≤ 10. Next line will have
N integers, representing the value of each element in the sequence. There is a blank line after each test case. The input is terminated by end of file (EOF).
Output
For each test case you must print the message: Case #M: The maximum product is P., whereM is the number of the test case, starting from 1, and
P is the value of the maximum product. After each test case you must print a blank line.
Sample Input
3 2 4 -3 5 2 5 -1 2 -1
Sample Output
Case #1: The maximum product is 8. Case #2: The maximum product is 20.
【分析】
采用暴力枚举。连续子序列有两个要素:起点和终点,因此只需枚举起点和终点即可。
需要注意两点:1、每次测试数据结果将会有一行空行输出;2、Maximum product 结果不能用 int 来存,否则可能出现溢出。
用java语言编写程序,代码如下:
import java.io.BufferedInputStream; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(new BufferedInputStream(System.in)); int kase = 0; while(input.hasNext()) { int n = input.nextInt(); int[] sq = new int ; for(int i = 0; i < n; i++) sq[i] = input.nextInt(); long max = 0; for(int i = 0; i < n; i++) { long tempMax = 1; for(int j = i; j < n; j++) { tempMax *= sq[j]; if(tempMax > max) max = tempMax; } } System.out.println("Case #" + (++kase) + ": The maximum product is " + max + ".\n"); } } }
相关文章推荐
- Maximum product of consecutive subsequence(最大连续子序列乘积)
- 【LeetCode】Maximum Product Subarray 求连续子数组使其乘积最大
- UVA 11059 Maximum Product最大乘积(暴力法)
- 最大乘积(Maximum Product,UVA 11059)
- LeetCode:152_Maximum Product Subarray | 最大乘积连续子数组 | Medium
- LeetCode题库解答与分析——#152. 乘积最大子序列MaximumProductSubarray
- 最大乘积(Maximum Product,UVA 11059)
- 最大乘积(Maximum Product,UVa 11059)
- LeetCode Maximum Product Subarray(最大子数组乘积)
- [LeetCode] Maximum Product Subarray 求最大子数组乘积
- 例题7-2 最大乘积(Maximum Product, UVa 11059)
- LeetCode OJ:Maximum Product Subarray(子数组最大乘积)
- [LeetCode] Maximum Product Subarray 求最大子数组乘积
- 最大乘积(Maximum Product,UVa11059)
- 最大乘积(Maximum Product,UVa 11059)
- Maximum Product 最大乘积
- leetcode152-Maximum Product Subarray(乘积最大子数组)
- 【LeetCode-面试算法经典-Java实现】【152-Maximum Product Subarray(子数组的最大乘积)】
- [LeetCode] Maximum Product of Three Numbers 三个数字的最大乘积
- DP36 如何切出最大长度乘积 Maximum Product Cutting @geeksforgeeks