Interviews

Ring Buffer

user profile image
System made a post.

Implement a ring buffer


class RingBuffer:
    def __init__(self, capacity):
        self.size = capacity
        self.capacity = 0
        self.Buffer = [None] * capacity
        self.Head = 0
        self.Tail = 0

    def full(self):
        return self.size == self.capacity

    def empty(self):
        return self.capacity == 0

    def add(self, obj):
        self.Buffer[self.Tail] = obj
        self.Tail = (self.Tail   1) % self.size
        Self.capacity  = 1

    def pop(self):
        self.Head = (self.Head   1) % self.size
        Self.capacity -= 1
        return self.Buffer[self.Head - 1]



One-on-One Algorithm and Coding Training

One-on-One System Design Training

One-on-One Mock Interview

Get one-to-one training from Google Facebook engineers


Top-notch Professionals

Learn from Facebook, Google, Uber senior engineers interviewed 100+ candidates.aonecode.com
Most recent interview questions and system design topics gathered from aonecode alumnus.
One-to-one online classes. Get feedbacks from real interviewers.


Customized Private Class

Already a coding expert? - Advance straight to hard interview topics of your interest.
New to the ground? - Develop basic coding skills with your own designated mentor.
Days before interview? - Focus on most important problems in target company question bank.


Free Consultation

aonecoding@gmail.com