美文网首页每日打卡
2021-11-17 318. 最大单词长度乘积

2021-11-17 318. 最大单词长度乘积

作者: 16孙一凡通工 | 来源:发表于2021-11-17 09:40 被阅读0次

    最开始的思路: // 从长度出发,找长度最长的两个,然后判定是否包含相同字母
    // 从字母出发,找出所有不包含相同字母的数组
    后来觉得,先判定字母是否相同,再计算长度乘积更合适,因此选取了第二种思路,并且通过合适的方法进行判定字母相同,进行计算量简化,官方采取了位运算的思路。

    Go版本

    import "fmt"
    func maxProduct(words []string) int {
    
        max_len:=0;
        for i:=0;i<len(words);i++{
            for j:=i;j<len(words);j++{
                if comparewords(words[i],words[j]){
                    // fmt.Println(len(words[i]))
                  max_len=max(len(words[i])*len(words[j]),max_len)
                }
            }
        }
        return max_len
    }
    func comparewords(num1 string, num2 string )bool{
    //  int[] arr=new int[26];
    var arr [26]int
     for _,value := range num1{
         arr[value-'a']++
     }
      for _,value := range num2{
          if( arr[value-'a']!=0){
              return false;
          }
     }
     return true;
    }
    func max(num1 int,num2 int)int{
        if num1>num2{
            return num1
        }
        return num2
    }
    

    相关文章

      网友评论

        本文标题:2021-11-17 318. 最大单词长度乘积

        本文链接:https://www.haomeiwen.com/subject/buhltrtx.html