Detect loop in linked-list if exist print the node data from where the loop starts
Asked in the Hackathon stage. Represent the linked list with parallel arrays: values[i] stores node data, and next_indices[i] stores the next node index or -1; head is the starting index. Return the data value at the first node in the loop, or None when no loop exists.
def find_loop_start(values, next_indices, head):