using System.Linq;using System;publicclassKata{publicstaticintMaxProduct(int[] array){int maxNum1 = array.Max(), maxNum2 =0;for(int i =0; i < array.Length; i++){if(array[i]!= maxNum1 && maxNum2 < array[i]){
maxNum2 = array[i];}}return maxNum1 * maxNum2;}}
答案3:
using System;using System.Linq;publicclassKata{publicstaticintMaxProduct(int[] array){
Array.Sort(array);var revers = array.Reverse().ToArray();var result =1;for(int i =0; i <2; i++)
result *= revers[i];return result;}}
答案4:
using System;using System.Linq;using System.Collections.Generic;publicclassKata{publicstaticintMaxProduct(int[] array){
List<int> list = array.ToList();int max = list.Max();
list.Remove(max);return max * list.Max();}}
答案5:
using System.Collections.Generic;using System.Linq;publicclassKata{publicstaticintMaxProduct(int[] array){var result =newList<int>(array);int max = result.Max();
result.Remove(max);return max * result.Max();}}
答案6:
using System.Linq;publicclassKata{publicstaticintMaxProduct(int[] array)=> array.OrderByDescending(i => i).Take(2).Aggregate((x, n)=> x * n);}