LeetCode 503 Next Greater Element II

LeetCode 503

Next Greater Element II

  • Problem Description:
    循环顺序查找第一个比当前数大的数,如果找得到将该比当前数大的第一个数插入数组,否则插入-1。

    具体的题目信息:
    https://leetcode.com/problems/next-greater-element-ii/description/

  • Solution:
    用flag标记第一次顺序扫描能否找到greater element,以确定是否需要从头开始第二次扫描。

class Solution {
public:
    vector<int> nextGreaterElements(vector<int>& nums) {
        vector<int> result;
        int flag = 0;
        for (int i = 0; i < nums.size(); i++) {
            for (int j = i+1; j < nums.size(); j++) {
                if (nums[j]>nums[i]) {
                    flag = 1;
                    result.push_back(nums[j]);
                    break;
                }
            }
            if (flag == 0) {
                for (int k = 0; k < i; k++) {
                    if (nums[k]>nums[i]) {
                        flag = 1;
                        result.push_back(nums[k]);
                        break;
                    }
                }
                if (flag == 0)
                    result.push_back(-1);
            }
            flag = 0;
        }
        return result;
    }
};

你可能感兴趣的:(leetcode)