python leetcode 134. Gas Station 135. Candy

考察是将题目转化为代码的能力

134. Gas Station

class Solution(object):
    def canCompleteCircuit(self, gas, cost):
        """
        :type gas: List[int]
        :type cost: List[int]
        :rtype: int
        """
        if sum(gas)<sum(cost):
            return -1 
        
        min_idx=0
        sumcost=0
        for i in range(len(gas)):
            if sumcost+gas[i]<cost[i]:
                min_idx=i+1
                sumcost=0 
            else:
                sumcost+=gas[i]-cost[i]
        return min_idx

135. Candy

class Solution:
    def candy(self, ratings):
        """
        :type ratings: List[int]
        :rtype: int
        """
        n=len(ratings)
        if n<=0: return 0
        res=[1]*n
        for i in range(n-1):
            if ratings[i+1]>ratings[i]:
                res[i+1]=res[i]+1
        for j in range(n-1,0,-1):
            if ratings[j-1]>ratings[j]:
                res[j-1]=max(res[j]+1,res[j-1])
        return sum(res)

猜你喜欢

转载自blog.csdn.net/Neekity/article/details/84988983