zoukankan      html  css  js  c++  java
  • leetcode 318: Maximum Product of Word Lengths

    Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the two words do not share common letters. You may assume that each word will contain only lower case letters. If no such two words exist, return 0.

    Example 1:

    Given ["abcw", "baz", "foo", "bar", "xtfn", "abcdef"]
    Return 16
    The two words can be "abcw", "xtfn".

    Example 2:

    Given ["a", "ab", "abc", "d", "cd", "bcd", "abcd"]
    Return 4
    The two words can be "ab", "cd".

    Example 3:

    Given ["a", "aa", "aaa", "aaaa"]
    Return 0
    No such pair of words.

    题意:求,不包含相同字符的两个string的最大长度积;

    思路:

    如何降低判断两string是否包含相同字符的开销???

    用bit来表示string元素中a-z每个字符是否出现;

     1 class Solution {
     2 public:
     3     int maxProduct(vector<string>& words) {
     4         int len = words.size();
     5         if(len==0)
     6             return 0;
     7         vector<int> v(len,0);
     8         vector<int> l(len,0);
     9         for(int i=0;i<len;i++)
    10         {
    11             string tstr = words[i];
    12             int tlen = tstr.length();
    13             l[i] = tlen;
    14             for(int j=0;j<tlen;j++)
    15             {
    16                 int ttmp = 1<<(tstr[j]-'a');
    17                 v[i] |= ttmp;
    18             }
    19         }
    20 
    21         int ans = 0;
    22         for(int i=0;i<len;i++)
    23         {
    24             for(int j=i+1;j<len;j++)
    25             {
    26                 int t2 = v[i]&v[j];
    27                 if(t2!=0)
    28                     continue;
    29                 int tmp = l[i]*l[j];
    30                 if(tmp>ans)
    31                     ans = tmp;
    32             }
    33         }
    34         return ans;
    35     }
    36 };
    View Code
  • 相关阅读:
    winform音频播放器(有声小说[凡人修仙传])
    c# 小小备忘录
    编程语言 : Java的动态Web解决方案泛谈
    服务器 : Apache Tomcat
    荐书 : 调试九法
    框架应用 : Spring MVC
    框架应用 : Spring
    数据库 : Mysql
    框架应用:Mybatis
    String对象的一些函数用法与心得
  • 原文地址:https://www.cnblogs.com/jsir2016bky/p/5777847.html
Copyright © 2011-2022 走看看