当前位置:网站首页>【leetcode周赛记录】第296场周赛记录

【leetcode周赛记录】第296场周赛记录

2022-06-09 12:08:00 一二三o-0-O

赛后个人排名

leetcode个人资料

赛题分析总结

第296场周赛

2293.极大极小游戏

class Solution {
    
public:
    int minMaxGame(vector<int>& nums) {
    
        int n = nums.size();
        
        vector<int> newVector = nums;

        while(n > 1){
    
            vector<int> tmp = newVector;
            newVector.clear();
            newVector.resize(n/2);
            for(int i{
    };i<n/2;i++){
    
                if((i+1)%2 == 0){
    
                    newVector[i] = max(tmp[i*2],tmp[i*2+1]);
                }else{
    
                    newVector[i] = min(tmp[i*2],tmp[i*2+1]);
                }
            }

            n = n/2;
        }

        return newVector[0];
    }
};

2294.划分数组使最大差为K

class Solution {
    
public:
	// 贪心求解
    int partitionArray(vector<int>& nums, int k) {
    
        int n = nums.size();
        sort(nums.begin(),nums.end());

        int result{
    };
        int i{
    };
        while(i < n){
    
            int j = i+1;
            for(;j<n;++j){
    
                if(nums[j]-nums[i] > k) break;
            }
            i = j;
            result++;
        }
        return  result;
    }
};

2295.替换数组中的元素

class Solution {
    
public:
	// hash计数求解
    vector<int> arrayChange(vector<int>& nums, vector<vector<int>>& operations) {
    
        int m = operations.size();
        unordered_map<int,int> unMap;

        for(int i{
    };i<nums.size();++i){
    
            unMap[nums[i]] = i;
        } 

        for(int i{
    };i<m;++i){
    
            int m1 = operations[i][0];
            int m2 = operations[i][1];

            int index = unMap[m1];
            nums[index] = m2;
            unMap[m2] = index;
        }

        return nums;
    }
};

2296.设计一个文本编辑器

第四题暂不考虑

反思总结

个人情况

第31次参加leetcode竞赛;

总计得到过5次12分,1次8分,15次7分,10次3分;

后续改进

  1. 贪心的专项复习、训练以及总结系统训练,总结
原网站

版权声明
本文为[一二三o-0-O]所创,转载请带上原文链接,感谢
https://blog.csdn.net/MichaelKongChina/article/details/125172659