【LeetCode每日一题】2744. 最大字符串配对数目

2024-1-17

文章目录

    • [2744. 最大字符串配对数目](https://leetcode.cn/problems/find-maximum-number-of-string-pairs/)
          • 思路:

2744. 最大字符串配对数目

【LeetCode每日一题】2744. 最大字符串配对数目_第1张图片

思路:

1.使用二维布尔数组来记录已经出现过的字母对。

2.通过遍历输入的字符串数组,获取每个字符串的第一个字母和第二个字母,并将它们转换为在数组中的索引。

3.如果在二维数组中发现了已经出现过的字母对,则表示可以组成一个匹配的字符串对,答案加一。

4.否则,将该字母对标记为已经出现过。最后返回答案

    public int maximumNumberOfStringPairs(String[] words) {
        int ans = 0; // 初始化答案
        boolean[][] seen = new boolean[26][26]; // 创建一个二维数组来记录已经出现过的字母对
        for (String s : words) { // 遍历输入的字符串数组
            int x = s.charAt(0) - 'a'; // 获取字符串的第一个字母在数组中的索引
            int y = s.charAt(1) - 'a'; // 获取字符串的第二个字母在数组中的索引
            if (seen[y][x]) { // 如果看到了已经出现过的字母对(y+x),则说明可以组成一个匹配的字符串对
                ans++; // 答案加一,表示发现了一个匹配的字符串对
            } else {
                seen[x][y] = true; // 否则将该字母对标记为已经出现过
            }
        }
        return ans; // 返回答案
    }

点击移步博客主页,欢迎光临~

偷cyk的图

你可能感兴趣的:(LeetCode,leetcode,python,算法)