zoukankan      html  css  js  c++  java
  • 比较两个序列字典序(lexicographicallySmaller)

     1 bool lexicographicalSmaller(vector<int> a, vector<int> b)
     2 {
     3     int n = a.size();
     4     int m = b.size();
     5     for(int i = 0; i < n && i < m; i++)
     6     {
     7         if(a[i] < b[i]) return true;
     8         else if(b[i] < a[i])    return false;
     9         return i == n && i < m;
    10     }
    11 }

    模板化(应用于定义了“小于”运算符的任意数据类型)

     1 template<class T>
     2 bool lexicographicalSmaller(vector<T> a, vector<T> b)
     3 {
     4     int n = a.size();
     5     int m = b.size();
     6     for(int i = 0; i < n && i < m; i++)
     7     {
     8         if(a[i] < b[i]) return true;
     9         else if(b[i] < a[i])    return false;
    10         return i == n && i < m;
    11     }
    12 }
    View Code

    有了模板函数,不管定义的是vector<int>a, b, vector<string>a, b, vector<vector<int> >a, b,全都可以用if(lexicographicalSmaller(a, b))...的方式直接使用上述函数。

  • 相关阅读:
    leetcode -- Word Break
    [笔试题]MS 2014
    网络编程之TCP/IP各层详解
    深浅copy
    字符编码的转换
    Bytes类型
    Django之模型层(1)
    Django之模板层
    用Python操作文件
    hash(哈希)是什么
  • 原文地址:https://www.cnblogs.com/LLGemini/p/3947478.html
Copyright © 2011-2022 走看看