当前位置: 首页 > news >正文

力扣-最大单词长度乘积

题目:

给你一个字符串数组 words,找出并返回 length (words [i]) * length (words [j]) 的最大值,并且这两个单词不含有公共字母。如果不存在这样的两个单词,返回 0。

分析:

  • 先进行边界判断(数组为 null、长度不足 2、去重后元素不足 2 个的情况)
  • 用 HashSet 对单词去重,避免重复计算
  • 转为 ArrayList 便于通过索引遍历所有单词对
  • 通过 isCommon 方法判断两个单词是否有公共字母(遍历字符 + indexOf 检查)
  • 计算符合条件的单词对长度乘积,跟踪最大值
package 字符串数组;import java.util.*;public class Demo02 {public static void main(String[] args) {String[] strs = {"abc", "ab", "abcde", "abcd", "sx","abcdef"};System.out.println("长度最大值:"+maxStringLength(strs));}public static int maxStringLength(String[] strs) {if (strs == null) {System.out.println("数组为null");return 0;}if (strs.length < 2) {System.out.println("数组长度不足2,无法判断");return 0;}Set<String> set = new HashSet<>();for (int i = 0; i < strs.length; i++) {set.add(strs[i]);}if (set.size() < 2) {System.out.println("数组中元素都相同,去重后为一个元素");return 0;}int maxLen = 0;// 最长长度List<String> list = new ArrayList<>(set);for (int i = 0; i < list.size(); i++){String str1 = list.get(i);for (int j = i + 1; j < list.size(); j++){String str2 = list.get(j);if (!isCommon(str1, str2)){int len = Math.max(maxLen, str1.length()*str2.length());maxLen =len;}}}return maxLen;}public static Boolean isCommon(String str1, String str2){for (Character s : str1.toCharArray()){if (str2.indexOf(s) != -1){// str2.indexOf如果查到,返回当前下标。如果没有查到,则返回-1return true;}}// 没有查到相同return false;}
}

运行结果:

http://www.dtcms.com/a/309644.html

相关文章:

  • 守护数字核心:主机安全的重要性与全方位防护指南
  • .NET 如何实现ChatGPT的Stream传输
  • HCLP--ospf综合实验
  • Qt大数据监控平台
  • Ant Design Vue notification自定义
  • 算法题——数组
  • Master Prompt:AI时代的万能协作引擎
  • html5和vue区别
  • 使用 Scikit-LLM 进行零样本和少样本分类
  • spring boot 使用mybatis简单连接数据库+连表查询
  • 向量投影计算,举例说明
  • LangChain详解
  • codex体验失败记录
  • Web3.0如何塑造互联网的未来
  • [echarts]基础地图
  • 北极圈金融科技革命:奥斯陆证券交易所的绿色跃迁之路 ——从Visma千倍增长到碳信用衍生品,解码挪威资本市场的技术重构
  • 数据结构(11)栈和队列算法题 OVA
  • 基于OpenCV的cv2.solvePnP方法实现头部姿态估计
  • AJAX快速入门 - 四个核心步骤
  • DB-GPT 0.7.3 版本更新:支持Qwen3 Embedding和Reranker模型、支持知识库自定义检索策略等
  • 从Web2.0到Web3.0:社交参与方式的重塑与延伸
  • 优化算法专栏——阅读导引
  • springboot助农平台
  • 【PHP 类常量详解:从入门到精通】
  • RK3588实现wlan直连
  • Qt 开发 IDE 插件开发指南
  • 如何在UEFI SHELL下查看UEFI Driver
  • 洛谷P4479第K大斜率
  • OSPF笔记整理
  • Transformer架构全解析:搭建AI的“神经网络大厦“