首页 > 试题广场 >

字符串分类

[编程题]字符串分类
  • 热度指数:3997 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
牛牛有N个字符串,他想将这些字符串分类,他认为两个字符串A和B属于同一类需要满足以下条件:
A中交换任意位置的两个字符,最终可以得到B,交换的次数不限。比如:abc与bca就是同一类字符串。
现在牛牛想知道这N个字符串可以分成几类。

输入描述:
首先输入一个正整数N(1 <= N <= 50),接下来输入N个字符串,每个字符串长度不超过50。


输出描述:
输出一个整数表示分类的个数。
示例1

输入

4
abcd
abdc
dabc
bacd

输出

1
const main = (strings) => {
    var types = [];
    for(let i = 0; i < strings.length; i++){
        //let str = strings[i].split('').sort().join('');
        let str = strings[i].split('').sort((item1, item2)=>{
            return item1.localeCompare(item2, 'zh-CN');
        }).join(''); //适配中文
        if(!types.includes(str))types.push(str)      
    }
    return types.length
}

console.log(main(['东京', '京东']))// expect 1

发表于 2020-03-21 18:47:42 回复(0)

热门推荐

通过挑战的用户

字符串分类