Frage im Vorstellungsgespräch bei Yahoo

knowledge: difference between Thread and Process, between ArrayList and LinkedList; Web attacks; code: an array with only 0s and 1s, put 0s on the left, 1s on the right; an array with 0s, 1s, and 2s, put 0s on left, 1s on middle, and 2s on right

Antwort im Vorstellungsgespräch

Anonym

1. März 2017

def organize(a): next_start = organize_inner(a, 0, [1, 2]) organize_inner(a, 1, [2], next_start) def organize_inner(a, left_val, right_val_list, start_ind = 0): start = start_ind end = len(a) - 1 while True: while True: if a[end] in right_val_list: end -= 1 else: break while a[start] == left_val: start += 1 if start >= end: return start t = a[start] a[start] = a[end] a[end] = t arr = [0,0,1,0,1,0, 1, 2, 2, 0, 0, 1, 1,0, 2, 1, 0, 2, 2, 1, 0, 1] organize(arr) print arr