首页 > 其他 > 详细

Peaks【遗留问题】

时间:2015-07-26 05:55:04      阅读:208      评论:0      收藏:0      [点我收藏+]
 1         /// <summary>
 2         /// Solution
 3         /// 通过率 83/60
 4         /// </summary>
 5         /// <param name="A"></param>
 6         /// <returns></returns>
 7         public int solution(int[] A)
 8         {
 9             int length = A.Length;
10             bool[] flagArr = new bool[length];
11             int peakNum = 0;
12 
13             for (int i = 1; i < length - 1; i++)
14             {
15                 if (A[i] > A[i - 1] && A[i] > A[i + 1])
16                 {
17                     flagArr[i] = true;
18                     peakNum++;
19                 }
20             }
21 
22             int div = 0;
23             int divLength = 0;
24 
25             for (int bloks = peakNum; bloks > 1; bloks--)
26             {
27                 if (length % bloks == 0)
28                 {
29                     div = length / bloks;
30                     divLength = div;
31                     for (int i = 0; i < divLength; i++)
32                     {
33                         if (flagArr[i] == true && divLength < length)
34                         {
35                             i = divLength;
36                             divLength += div;
37                         }
38                     }
39                     if (divLength == length)
40                         return bloks;
41                 }
42             }
43 
44             if (peakNum > 0)
45                 return 1;
46             else
47                 return 0;
48         }

 

Peaks【遗留问题】

原文:http://www.cnblogs.com/HuoAA/p/4676943.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!