查找数组中极值

最大值:

 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         }

我觉得这才是最优算法!

posted @ 2013-05-02 09:44  Suzuki.kakeru  阅读(576)  评论(0编辑  收藏  举报