【6094. 公司命名】枚举

import java.util.HashSet;
import java.util.Set;

class Solution {
    public long distinctNames(String[] ideas) {
        int[][] cnt = new int[26][26];
        boolean[][] flag = new boolean[ideas.length][26];
        Set<String> set = new HashSet<>();
        for (String idea : ideas) {
            set.add(idea);
        }

        for (int i = 0; i < ideas.length; i++) {
            int first = ideas[i].charAt(0) - 'a';
            String substr = ideas[i].substring(1);
            for (int j = 0; j < 26; j++) {
                String str = (char) (j + 'a') + substr;

                if (!set.contains(str)) {
                    flag[i][j] = true;
                    cnt[first][j]++;
                }
            }
        }

        long ans = 0;
        for (int i = 0; i < ideas.length; i++) {
            for (int j = 0; j < 26; j++) {
                if( flag[i][j]){
                    int first = ideas[i].charAt(0)-'a';
                    ans += cnt[j][first];
                }
            }
        }
        return ans;
    }
}

 

posted @ 2022-06-12 17:29  fishcanfly  阅读(25)  评论(0)    收藏  举报
//雪花飘落效果