0
点赞
收藏
分享

微信扫一扫

leetcode 第 277 场周赛

左小米z 2022-01-26 阅读 137

leetcode 第 277 场周赛

元素计数

题目

思路:

代码:

class Solution {
public:
    int countElements(vector<int>& nums) {
        int minNum = *min_element(nums.begin(),nums.end());
          int maxNum =  *max_element(nums.begin(),nums.end());
        int ans=0;
        // for(int i=0;i<nums.size();i++){
        //     if(nums[i]>minNum &&nums[i]<maxNum){
        //         cnt++;
        //     }
        // 
         for (auto num : nums) {
            if (num > minNum && num < maxNum) {
                ans++;
            }
        }

        return ans;
    }
};

按符号重排数组

题目:

思路:

代码:

class Solution {
public:
    vector<int> rearrangeArray(vector<int>& nums) {
       int n = nums.size();
        int i=0,j=1;
        vector<int> res(n);
        for(auto num:nums){
            if(num>=0){
                res[i]=num;
                i+=2;
            }
            else{
                res[j] = num;
                j+=2;
            }
        }
        return res;
    }
};

找出数组中的所有孤独数字

题目:

思路:

代码:

class Solution {
public:
    vector<int> findLonely(vector<int>& nums) {
        map<int,int> mp;
        vector<int> res;
        //现将nums中出现的数字进行加一操作
        for(auto x:nums){
            mp[x]++;
        }
        for(auto &[k,v]:mp){
            if(v==1){
                //如果mp中的值为1就说明之前在nums中出现过,所以需要进行对出现过的值,进行判断
                if(!mp.count(k+1) &&!mp.count(k-1)){
                    //k + 1 和 k - 1未出现在数组中,满足题目条件,进行记录
                    res.push_back(k);
                }
            }
        }
        return res;
    }
};

基于陈述统计最多好人数

题目:

思路:

代码:


举报

相关推荐

0 条评论