deepjoarder
BAN USERAnswer should be Buy=10 and Sell=50
def maxprofit(self,stock):
min_price=sys.maxint()
max_profit = 0
for i in xrange(len(stock)):
if stock[i] < min_price:
min_price=stock[i]
if stock[i] - min_price > max_profit:
max_profit = stock[i] - min_price
return max_profit
One Liner:
def movezeroes(self,s):
s.sort(key=lambda x:1 if x==0 else 0)
return s
def movezeroes(self,s):
begin=0
end = len(s) - 1
while begin< end:
if s[begin] !=0:
begin+=1
continue
if s[begin] == 0:
while s[end] == 0:
end-=1
temp = s[end]
s[end]=s[begin]
s[begin] = temp
begin+=1
end-=1
return s
Assuming we need to consider atleast 2 elements to compute the sum,
def findsum(self,num,target):
d={}
d[0]=-1
sum=0
for i in xrange(len(num)):
sum+=num[i]
if d and abs(target-sum) in d and d[abs(target-sum)] !=i:
return bool(1)
if sum not in d:
d[sum]=i
return bool(0)
def findcombination(self, s):
d={'1':'','2':'abc','3':'def','4':'ghi','5':'jkl','6':'mno','7':'pqrs','8':'tuv','9':'wxyz','10':''}
value_list = list()
if len(s) == 0:
return []
result = [""]
for digit in s:
value_list=d[digit]
for i in value_list:
out=[]
for j in result:
out.append(i+j)
result=out
return result
def maxSum(self, s,k):
begin=0
sum=0
max_sum=0
for i in xrange(len(s)):
if i-start+1 >k :
sum = sum - s[i]
start+=1
sum = sum + s[i]
if s[i] > sum :
sum = s[i]
start = i
if sum > max_sum:
max_sum = sum
return max_sum
- deepjoarder July 21, 2017