This is my code :

```
def coinChange(self, coins, amount):
"""
:type coins: List[int]
:type amount: int
:rtype: int
"""
if amount <= 0:
return -1
dp = [amount + 1] * (amount + 1)
dp[0] = 0
for i in xrange(1,amount+1):
for j in xrange(len(coins)):
if coins[j] <= i:
dp[i] = min(dp[i],dp[i-coins[j]] + 1)
return -1 if dp[amount] == amount + 1 else dp[amount]
```

Time Limit Exceeded with :

[333,364,408,118,63,270,69,111,218,371,305]

5615

Could someone give me some suggest to pass ?

thanks