有一个给定的有序数组(类型long),数组中有很多重复项。任意给一个索引值,求向后走第一个不同值的索引值和向前走第一个不同值的最前一
有一个给定的有序数组(类型long),数组中有很多重复项。如:
0 0 0 1 1 1 1 1 1 2 3 3 3 4 4 6 6 6 7 7 7 9 ……
任意给一个索引值,求向后走第一个不同值的索引值和向前走第一个不同值的最前一个的索引值。
例如:给定索引9,则向前走为3,向后走为10。
求O(1)的算法,辅助空间不要太大。
大家给点思路,若有好的想法,还可再加100分。