程式語言 - LeetCode - C - 901. Online Stock Span



題目:


解答:

typedef struct {
    int *s;
    int pos;
} StockSpanner;

StockSpanner* stockSpannerCreate()
{
    StockSpanner *r = calloc(1, sizeof(StockSpanner));
    r->s = calloc(10000, sizeof(int));

    return r;
}

int stockSpannerNext(StockSpanner* obj, int price)
{
    int i = 0;
    int j = 0;
    int r = 0;

    obj->s[obj->pos++] = price;

    for (i = obj->pos - 1; i >= 0; i--) {
        if (obj->s[i] <= price) {
            r += 1;
            continue;
        }

        break;
    }

    return r;
}

void stockSpannerFree(StockSpanner* obj)
{
    free(obj->s);
    free(obj);
}

/**
 * Your StockSpanner struct will be instantiated and called as such:
 * StockSpanner* obj = stockSpannerCreate();
 * int param_1 = stockSpannerNext(obj, price);
 
 * stockSpannerFree(obj);
*/