Codility. Autor: Grzegorz Jakacki

Post on 10-Apr-2015

1.022 views 2 download

Transcript of Codility. Autor: Grzegorz Jakacki

CodilityWe test coders

Codility

Codility

Codility

Codility

20102010 20092009

20082008

20052005

Codility

Codility

/* Story */

Codility

/* Story */

Codility

/* Story */

Codility

/* Story */

Codility

/* Story */

Codility

/* Hiring */

Codility

/* Hiring */

Codility

/* Hiring */

Codility

A B C D

p

Codility

A B C D

p

A B C D

p

Codility

CodilityA.D. 1044

Codility

2010 - Shanghai Jiao Tong University, China2009 - Saint Petersburg State University, Russia2008 - Saint Petersburg State University, Russia2007 - Warsaw University, Poland2006 - Saratov State University, Russia2005 - Shanghai Jiao Tong University, China2004 - Saint Petersburg State University, Russia2003 - University of Warsaw, Poland2002 - Shanghai Jiao Tong University, China

Codility

Codility

A B C D

p

Codility

A B C D

p

A B C D

p

Codility

A B C ED

prev curr next

Codility

A B C ED

prev curr next

Codility

A B C ED

prev curr next

Codility

A B C ED

prev curr next

Codility

A B C ED

prev curr next

Codility

A B C ED

prev curr next

Codility

A B C ED

prev curr next

Codility

A B C ED

prev curr next

N* reverse(N* p) { if (!p) return p; prev = NULL; curr = p; next = p->next; while (next) { curr->next = prev; prev = curr; curr = next; next = next->next; } return curr;}

przełóż wskaźnik listy

przesuń prev/curr/next

Codility

A B C D

p

A B C D

LISTA

STOS

Codility

A B C D

Codility

B C D

A

Codility

C D

B A

Codility

D

C B A

Codility

D C B A

Codility

Stack reverse(Stack src) { Stack dest; while (src.nonempty()) { x = src.pop(); dest.push(x); } return dest;}

Codility

Stack reverse(Stack s){ Stack d; while (s.nonempty()) { x = s.pop(); d.push(x); } return d;}

N* reverse(N* s){ d = NULL; while (s) { x = s; s = s->next; x->next = d; d = x; } return d;}

Codility

Codility

Idea!

Codility

Idea!

-7 1 5 2 -4 3 0

Codility

suma = -1 suma = -1

punkt równowagi

-7 1 5 2 -4 3 0

Codility

suma = 0 suma = 0(ciąg pusty)

punkt równowagi

-7 1 5 2 -4 3 0

Codility

def equi(A): for j in xrange(len(A)): if sum(A[:j]) == sum(A[j+1:]): return j return -1

Codility

Codility

90%

Codility

Codility

Codility

Codility

Codility

Codility

Candidate ranking

35

CO DALEJ?

35

CO DALEJ?

Mutacje zadań

35

CO DALEJ?

Mutacje zadań

Ocena adaptatywna

35

CO DALEJ?

Mutacje zadań

Ocena adaptatywna

Model Checking(praktyki!)

36

Info, praktyki, foto-opportunities:

Grzegorz JakackiCodility CTO&CEO

jakacki@codility.com

CodilityWe test coders