查找数组中极值
最大值:
1 ///时间复杂度O(n) 2 ///空间复杂度: 3 static int GetMax(int[] irry) 4 { 5 if (irry == null || irry.Length == 0) return -1;//-1 means null 6 for (int i = 0; i < irry.Length - 1; i++) 7 { 8 if (irry[0] < irry[i + 1]) 9 irry[0] = irry[i + 1]; 10 } 11 return irry[0]; 12 }
最小值:
1 ///时间复杂度O(n) 2 ///空间复杂度: 3 static int GetMin(int[] irry) 4 { 5 if (irry == null || irry.Length == 0) return -1;//-1 means null 6 for (int i = 0; i < irry.Length - 1; i++) 7 { 8 if (irry[0] > irry[i + 1]) 9 irry[0] = irry[i + 1]; 10 } 11 return irry[0]; 12 }
我觉得这才是最优算法!