摘要: 二面一面过后一天,接到二面的通知。二面在腾讯公司所在的银科大厦。面试官一开始针对简历问了几个问题,然后开始问技术问题。 二分查找大家都很熟悉,但如果给出的数组a可能进行了循环移位,如[1 2 3 4]变成了[2 3 4 1](是否移位,移了多少位都不知道),能否写一个程序,快速找出数组中是否存在某元素n 我最初的想法是,遍历数组,找出移位的点,然后判断n属于哪个区间,进而在那个区间中对n进行二分查找。 但是面试官提示我,原本二分查找的时间复杂度是O(lgn),而遍历数组的时间复杂度是O(n),时间复杂度增加太多,能不能找到一个不改变时间复杂度的算法。 思考之后我发现,查找移位点其实可以用二分查 阅读全文
posted @ 2011-05-27 17:21 白色之夜 阅读(3399) 评论(15) 推荐(2) 编辑