日期:2014-05-18  浏览次数:20869 次

算法问题!!!!!

 int arr1[1000] = {1,2,5,1,6,2,.....}; //arr1数据可重复

 string arr2[10000] = {"1,2,3,4,5,6,7,8,9,......,100","2,55,56,.....,100"};// arr2数据的元素不重复

arr2中的每项跟,arr1中的每项对比,将以下规律的项统计出来,并得到此项的下标
规律如下

arr2[0].Exists(arr[0]) = true

arr2[1].Exists(arr[0]) = false

arr2[2].exists(arr[0] = true;
........

即 true,true,false,true,false ,false 找出红色部份
; false,false,true,false,true,false,false 找出红色部份

找出所有等于false的项并且统计是大间隔数,即false连续在一起最多的那段并统计次数排序 降序徘列


true
false
true
true
false
false
false
true
false
false
true
false
false
false
true
....

结果应为 arr1[0] 最大间隔数为3,出现了二次,其次为2,出现了一次,..........
  arr1[1] ...........................

最优算法
 

------解决方案--------------------
友情UP楼主
------解决方案--------------------
没太看明白!
------解决方案--------------------
友情帮顶
------解决方案--------------------
看的晕, 顶
------解决方案--------------------
我也顶,
------解决方案--------------------
arr2[0].Exists(arr[0]) = true 可以么? 都不是一个类型..
------解决方案--------------------
up
------解决方案--------------------
不怎么明白
------解决方案--------------------
没什么难度,不过这不是算法问题吧,倒像是作业题。
------解决方案--------------------
没看明白
------解决方案--------------------
友情帮顶