题解 | #牛牛的谷底寻找#

牛牛的谷底寻找

https://www.nowcoder.com/practice/a929e30259c144ca814e04cf34ee904e

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型vector
     */
    vector<int> findValley(vector<int>& nums) {
        // write code here
        vector<int> res;
        multiset<int> saver;
        int n = nums.size();
        if(n == 0) return res;

        else if(n == 1) {
            res.push_back(nums[0]);
            return res;
        }

        else if(n == 2){
            if(nums[0] < nums[1]){
                res.push_back(nums[0]);
            }
            if(nums[0] > nums[1]){
                res.push_back(nums[1]);
            }
            return res;
        }
        else{
            if(nums[0] < nums[1]){
                saver.insert(nums[0]);
            }
            if(nums[n-1] < nums[n-2]){
                saver.insert(nums[n-1]);
            }
        }

        for(int i = 1 ; i<n-1; ++i){
            if(nums[i] < nums[i-1] && nums[i] < nums[i+1])
            {
                saver.insert(nums[i]);
            }
        }
        for(auto it:saver) res.push_back(it);
        return res;
    }
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务