Given an array, return True if the array contains consecutive values:has22([1, 2, 2]) - True  has22([1, 2, 1, 2]) -False  has22([2, 1, 2]) - FalseI do aware of a quick solution by iterating the list in a for loop and comparing current and next items for equality until it reaches the end, also using modules like itertools as pointed out by @syb0rg. However, I am asking this to learn algorithmic approachCurrent Solution:def has22(nums):    total_occurrences = nums.count(2)    if total_occurrences >= 2:        forward_start = 0        backward_start = 0        reversed_nums = nums[::-1]        last_item_index = len(nums) - 1        for _ in xrange(total_occurrences/2 ):            next_forward_occurrence = nums.index(2,forward_start)            next_backward_occurrence=  last_item_index - reversed_nums.index(2, backward_start)            if nums[next_forward_occurrence] == nums[next_forward_occurrence+1]:                return True            elif nums[next_backward_occurrence] == nums[next_backward_occurrence - 1]:                return True            forward_start = next_forward_occurrence            backward_start = next_backward_occurrence    return FalseI would like to know if there is any other efficient algorithm (using only built-in methods, no modules/lib please)
Finding consecutive occurrences of a value in an array
python;performance;algorithm;array