首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

名次数组还原

2012-11-16 
等差数组还原最近在论坛看到一个GOOGLE面试题(原帖: http://www.iteye.com/topic/1056568), 有点兴趣就动

等差数组还原
最近在论坛看到一个GOOGLE面试题(原帖: http://www.iteye.com/topic/1056568), 有点兴趣就动手试了一下, 结果还比较满意.

我认为, 本题的考点不在于如何将原数组转成目标数组(循环除2就完了), 而是在于如何将目标数组还原到原数组,
因此, 前段代码没有给出, 只给出了如何还原的代码, 以表我的思路:

new ArrayRecovery().recovery([1, 63, 47, 125, 39, 187, 109, 249, 35, 311, 171])//OUTPUT [32, 63, 94, 125, 156, 187, 218, 249, 280, 311, 342]new ArrayRecovery().recovery([1, 1, 3, 1, 5, 3, 7, 1, 9, 5, 11], 5)//OUTPUT [32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352]new ArrayRecovery().recovery([11, 5, 9, 1, 7, 3, 5, 1, 3, 1, 1, 0, -1], 5)//OUTPUT [352, 320, 288, 256, 224, 192, 160, 128, 96, 64, 32, 0, -32]new ArrayRecovery().recovery([-108, -81, -54, -27, 0, 27, 54, 81], 2)//OUTPUT [-432, -324, -216, -108, 0, 108, 216, 324]new ArrayRecovery().recovery([1, 3, 19])//OUTPUT [17, 18, 19]   <--- WRONGnew ArrayRecovery().recovery([1, 3])//OUTPUT [2, 3]new ArrayRecovery().recovery([1])//OUTPUT [1]new ArrayRecovery().recovery([])//OUTPUT []

小弟认为代码算法上仍有可以优化之处, 比如可以寻找一种算法, 没有必要对整个数组进行全对比, 以得到差值命中率表, 希望各位大大给出意见...

热点排行