DEV Community

loading...

Day 58 Of 100DaysOfcode: More About Algorithm

iamdurga profile image Durga Pokharel Updated on ・2 min read

Todays I completed 58th day of #100daysOfCode and #python learning. Like yesterday today also continued to learned more about SQL properties(CROSS JOIN, UNION, UNION ALL, INTERSECT, EXCEPT) from Datacamp

Tired to complete some assignment from Coursera. Learned more types of algorithms from algorithmic toolbox. I tried to solve car fueling problem which is given below.

Python code

def compute_min_refills(distance, tank, stops):

    numrefill, currentrefill= 0,0
    stops = [0] + stops + [distance] #include the start and end points in the stops list   
    if distance <= tank:
        return 0
    else:
        while currentrefill < len(stops)-1:
            lastrefill = currentrefill
            #print(currentrefill, lastrefill, len(stops))
            while currentrefill < len(stops)-1 and stops[currentrefill+1] - stops[lastrefill]<=tank:

                currentrefill += 1

            if currentrefill == lastrefill:
                return -1
            if currentrefill < len(stops)-1:
                numrefill +=1

        #print(numrefill)

        return numrefill
if __name__ == '__main__':
    d, m, _, *stops = map(int, sys.stdin.read().split())
    print(compute_min_refills(d, m, stops))
Enter fullscreen mode Exit fullscreen mode

Discussion (2)

pic
Editor guide
Collapse
otumianempire profile image
Otu Michael

Indent the last line under the if block

Collapse
iamdurga profile image
Durga Pokharel Author

Thank you for pointing out.