Bases de la structure des données jour 4

Sujet : 240. Recherche d'une matrice bidimensionnelle II

Solution : forme en Z

Parcourez depuis le coin supérieur droit, interrogez la taille du coin inférieur gauche jusqu'à (x, y), si elle est supérieure à la cible, alors y–, si elle est inférieure à la cible, x++

class Solution {
    
    
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
    
    
        int m=matrix.size(), n=matrix[0].size();
        int x=0, y=n-1;
        while(x<m && y>=0){
    
    
            if(matrix[x][y]==target){
    
    
                return true;
            }else if(matrix[x][y]>target){
    
    
                --y;
            }else{
    
    
                ++x;
            }
        }
        return false;
    }
};

Sujet : 435. Pas d'intervalles qui se chevauchent

Solution : gourmand

Les extrémités droites de chaque intervalle sont triées de petit à grand. L'extrémité droite du premier intervalle est initialement utilisée comme limite droite. Il est jugé si l'extrémité gauche de l'intervalle suivant est supérieure ou égale à la limite droite. Si ainsi, la limite droite est mise à jour jusqu'à l'extrémité droite du nouvel intervalle. Sinon, déterminez l'intervalle suivant.

class Solution {
    
    
public:
    int eraseOverlapIntervals(vector<vector<int>>& intervals) {
    
    
        if(intervals.empty()) return 0;	//特判
        sort(intervals.begin(), intervals.end(), [](vector<int> &u, vector<int> &v){
    
    
            return u[1]<v[1];
        });	//按照右端点对intervals进行排序,注意判断函数的写法[]{}
        int n = intervals.size();
        int right = intervals[0][1], ans=1;	//初始化右界right和ans(不重叠区间数量,注意为1,即intervals[0])
        for(int i=1; i<n; ++i){
    
    	//从1开始
            if(intervals[i][0]>=right){
    
    	//如果区间左端点大于等于右界,则不重叠,ans++,更新右界
                ++ans;
                right = intervals[i][1];
            }
        }
        return n-ans;	//总数减去不重叠区间数即为需要去除的区间数量
    }
};

Je suppose que tu aimes

Origine blog.csdn.net/qq_43606119/article/details/130274987
conseillé
Classement