public class Solution
{
public static int MaxProduct(List<int> nums)
{
int m1 = Math.Max(nums[0], nums[1]);
int m2 = Math.Min(nums[0], nums[1]);
for (int i = 2; i < nums.Count; ++i)
{
if (nums[i] > m1)
{
m2 = m1;
m1 = nums[i];
}
else if (nums[i] > m2)
{
m2 = nums[i];
}
}
return m1 * m2;
}
}
#include <vector>
using namespace std;
int maxProduct(vector<int>& nums) {
int m1 = max(nums[0], nums[1]);
int m2 = min(nums[0], nums[1]);
for (size_t i = 2; i < nums.size(); ++i) {
if (nums[i] > m1) {
m2 = m1;
m1 = nums[i];
} else if (nums[i] > m2) {
m2 = nums[i];
}
}
return m1 * m2;
}
package main
func maxProduct(nums []int) int {
m1 := max(nums[0], nums[1])
m2 := min(nums[0], nums[1])
for i := 2; i < len(nums); i++ {
if nums[i] > m1 {
m2 = m1
m1 = nums[i]
} else if nums[i] > m2 {
m2 = nums[i]
}
}
return m1 * m2
}
func max(a, b int) int {
if a > b {
return a
}
return b
}
func min(a, b int) int {
if a < b {
return a
}
return b
}
import java.util.List;
public class Solution {
public int maxProduct(List<Integer> nums) {
int m1 = Math.max(nums.get(0), nums.get(1));
int m2 = Math.min(nums.get(0), nums.get(1));
for (int i = 2; i < nums.size(); i++) {
if (nums.get(i) > m1) {
m2 = m1;
m1 = nums.get(i);
} else if (nums.get(i) > m2) {
m2 = nums.get(i);
}
}
return m1 * m2;
}
}
from typing import *
def max_product(nums: List[int]) -> int:
m1 = max(nums[0], nums[1])
m2 = min(nums[0], nums[1])
for i in range(2, len(nums)):
if nums[i] > m1:
m2 = m1
m1 = nums[i]
elif nums[i] > m2:
m2 = nums[i]
return m1 * m2
export function maxProduct(nums) {
let m1 = Math.max(nums[0], nums[1]);
let m2 = Math.min(nums[0], nums[1]);
for (let i = 2; i < nums.length; i++) {
if (nums[i] > m1) {
m2 = m1;
m1 = nums[i];
} else if (nums[i] > m2) {
m2 = nums[i];
}
}
return m1 * m2;
}