zoukankan      html  css  js  c++  java
  • 646. Maximum Length of Pair Chain

    Problem:

    You are given n pairs of numbers. In every pair, the first number is always smaller than the second number.

    Now, we define a pair (c, d) can follow another pair (a, b) if and only if b < c. Chain of pairs can be formed in this fashion.

    Given a set of pairs, find the length longest chain which can be formed. You needn't use up all the given pairs. You can select pairs in any order.

    Example 1:

    Input: [[1,2], [2,3], [3,4]]
    Output: 2
    Explanation: The longest chain is [1,2] -> [3,4]
    

    Note:

    1. The number of given pairs will be in the range [1, 1000].

    思路

    Solution (C++):

    int findLongestChain(vector<vector<int>>& pairs) {
        if (pairs.empty() || pairs[0].empty())  return 0;
        sort(pairs.begin(), pairs.end(), cmp);
        int count = 1;     
        vector<int> tmp = pairs[0];
        
        for (int i = 1; i < pairs.size(); ++i) {
            if (pairs[i][0] > tmp[1]) {
                tmp = pairs[i];
                ++count;
            }
        }
        return count;
    }
    static bool cmp(vector<int>& a, vector<int>& b) {
        return a[1] < b[1];
    }
    

    性能

    Runtime: 80 ms  Memory Usage: 15.1 MB

    思路

    Solution (C++):

    
    

    性能

    Runtime: ms  Memory Usage: MB

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    struts2之拦截器
    JavaWeb开发之HttpServletResponse
    JavaWeb开发之Servlet
    HTTP协议详解
    字符串
    数组
    第一个只出现一次的字符
    DDoS的类型及原理
    引用变量&和指针*的区别
    赋值运算符的重载
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12724126.html
Copyright © 2011-2022 走看看