greedy

class Solution {
    public int findContentChildren(int[] g, int[] s) {
        if(g==null||s==null) return 0;
        Arrays.sort(g);
        Arrays.sort(s);
        int i=0,j=0;
        while(i<g.length&&j<s.length){
            if(g[i]<=s[j]){
                i++;
            }
            j++;
        }
        return i;    
    }
}

 

class Solution {
    public int eraseOverlapIntervals(int[][] intervals) {
        if(intervals==null||intervals.length<=1) return 0;
        Arrays.sort(intervals,(x,y)->(x[1]-y[1]));//按照end升序排序
        int end=intervals[0][1],cnt=0;
        for(int i=1;i<intervals.length;i++){
            if(intervals[i][0]<end){
                cnt++;
            }
            else{
                end=intervals[i][1];
            }
        }
        return cnt;
    }
}

 

class Solution {
    public int findMinArrowShots(int[][] points) {
        if(points.length<=1) return points.length;
        Arrays.sort(points,(x,y)->(x[1]-y[1]));//end排序
        int end=points[0][1];
        int cnt=1;
        for(int i=1;i<points.length;i++){
            if(points[i][0]>end){
                cnt++;
                end=points[i][1];
            }
        }
        return cnt;
    }
}

 

class Solution {
    public int maxProfit(int[] prices) {
        int pro=0,ma=0;
        for(int i=0;i<=prices.length-2;i++){
            for(int j=i;j<=prices.length-1;j++){
                pro=prices[j]-prices[i];
                if(ma<pro) ma=pro;
            }
        }
        return ma;
    }
}

 

class Solution {
    public int maxProfit(int[] prices) {
        if(prices.length<=1) return 0;
        int pro=0;
        for(int i=1;i<prices.length;i++){
            if(prices[i]-prices[i-1]>0){
                pro+=prices[i]-prices[i-1];
            }
        }  
        return pro;  
    }
}

 

class Solution {
    public boolean canPlaceFlowers(int[] flowerbed, int n) {
        int len=flowerbed.length;
        int []tmp=new int[len+2];
        tmp[0]=0;
        tmp[len+1]=0;
        int cnt=0;
        for(int i=0;i<len;i++){
            tmp[i+1]=flowerbed[i];
        }
        for(int i=1;i<=len;i++){
            if(tmp[i-1]==0&&tmp[i]==0&&tmp[i+1]==0){
                tmp[i]=1;
                cnt++;
            }
        }
        return cnt>=n;
    }
}

 

class Solution {
    public boolean isSubsequence(String s, String t) {
        int ls=s.length(),lt=t.length(),i=0,j=0;
        while(i<lt&&j<ls){
            if(s.charAt(j)==t.charAt(i)){
                j++;
            }
            i++;
        }
        return j>=ls;
    }
}

 

class Solution {
    public boolean checkPossibility(int[] nums) {
        int cnt=0;
        int len=nums.length;
        for(int i=1;i<len;i++){
            if(nums[i]<nums[i-1]){
                cnt++;
                if(i-2>=0&&nums[i-2]>nums[i]){
                    nums[i]=nums[i-1];  
                }
                else{
                    nums[i-1]=nums[i];
                }
            }
        }
        return cnt<=1;
    }
}
//https://www.cnki.net/?UID=WEEvREcwSlJHSldTTEYzVTFPV2k1SHNyMFVFZU9KUU1FaUNSanZiVzRKdz0%3d%249A4hF_YAuvQ5obgVAqNKPCYcEjKensW4IQMovwHtwkF4VYPoHbKxJw!!&autoLogin=0

 

class Solution {
    public int maxSubArray(int[] nums) {
        int len=nums.length;
        int []dp=new int [len];
        dp[0]=nums[0];
        int res=nums[0];
        for(int i=1;i<len;i++){
            dp[i]=Math.max(dp[i-1]+nums[i],nums[i]);
            res=Math.max(dp[i],res);
        }
        return res;
    }
}

 

class Solution {
    public List<Integer> partitionLabels(String S) {
        ArrayList<Integer>list=new ArrayList<>();
        HashMap<Character,Integer>mp=new HashMap<>();
        for(int i=0;i<S.length();i++){
            mp.put(S.charAt(i),i);
        }
        int start=0,end=0;
        for(int i=0;i<S.length();i++){
            end=Math.max(end,mp.get(S.charAt(i)));
            if(end==i){
                list.add(end-start+1);
                start=i+1;
            }
        }
        return list;
    }
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326284034&siteId=291194637