LeetCode 1006. 笨阶乘(栈)

2022-01-13 14:51:28 浏览数 (1)

题目

思路

把数存到栈中,如果是或/则让栈顶或/当前元素,如果是 或-则栈push当前元素(-运算符可以push负数)。 然后把栈中元素累加。

代码语言:javascript复制
public:
    int clumsy(int N) {
        vector<int> st;
        st.push_back(N);
        N--;
        int count = 0;
        while (N > 0) {
            if (count % 4 == 0) st.back() *= N;
            else if (count % 4 == 1) st.back() /= N;
            else if (count % 4 == 2) st.push_back(N);
            else st.push_back(-N);
            count  ;
            N--;
        }
        return accumulate(st.begin(), st.end(), 0);
    }
};

0 人点赞