Posted By

ariellephan on 10/27/10


Tagged


Versions (?)

Determine whether a triangle can be built from a given set of edges


 / Published in: Python
 

URL: http://codility.com/contests/ep2010/results/appPZ2RXZ-B87

Task description:

Write a function int triangle(int[] A); which given a zero-indexed array A of n integers returns 1 if there exists triple i,j,k (, ) such that:

A[i] + A[j] > A[k]

A[i] + A[k] > A[j]

A[j] + A[k] > A[i] or returns 0 otherwise. Examples: For:

A[0]=10, A[1]=2, A[2]=5, A[3]=1, A[4]=8, A[5]=20 your function should return 1, since for i=0,j=2,k=4 all conditions are fullfiled (i.e. A[2]+A[4]>A[0]). For:

A[0]=10, A[1]=50, A[2]=5, A[3]=1 your function should return 0.

  1. def triangle ( A ):
  2. # write your code here
  3. A.sort()
  4. for i in range(len(A) - 2):
  5. if A[i] + A[i+1] > A[i+2]:
  6. return 1
  7. return 0

Report this snippet  

You need to login to post a comment.