首页 🍒LeetCode,🐶算法

题目

WWJl4iR7L5.png

思路

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

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);
    }
};



文章评论