华为OD机试-- 计算最大乘积

140 阅读1分钟

题目

给定一个元素类型为小写字符串的数组,请计算两个没有相同字符的元素长度乘积的最大值,

如果没有符合条件的两个元素,返回0。

输入描述

输入为一个半角逗号分隔的小写字符串的数组,2 <= 数组长度<=100,0 < 字符串长度<= 50。

输出描述

两个没有相同字符的元素 长度乘积的最大值。

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

iwdvpbn,hk,iuop,iikd,kadgpf

输出

14

说明

数组中有5个元素。

iwdvpbn与hk无相同的字符,满足条件,iwdvpbn的长度为7,hk的长度为2,乘积为14(7*2)。

iwdvpbn与iuop、iikd、kadgpf均有相同的字符,不满足条件。

iuop与iikd、kadgpf均有相同的字符,不满足条件。

iikd与kadgpf有相同的字符,不满足条件。

因此,输出为14。

思路

1:注意题目中的各项输入的范围,明显可以暴力解决。

2:一个双循环即可。

3:想要加速的话也可以试一下hash结构。

Java 实现:华为机试真题 Java 实现【计算最大乘积】

Python实现:华为机试真题 Python 实现【计算最大乘积】

C++ 实现:华为机试真题 C++ 实现【计算最大乘积】

JavaScript实现:2023华为OD机试真题 JavaScript 实现【计算最大乘积】

C实现:华为机试真题 C语言 实现【计算最大乘积】

08b5c525d7ead8dfae119bbdffa9bc8c.jpg