前几天看到面试题:
有一组数组 ["Dog","Act","God","Good","Cat"],如 Dog,God,都有一个D,一个O,一个G,可以算是一类,用你最熟悉的一门语言,用一个函数,把上面数组,把相同一类放入一个新数组中,返回如下列表 最后打印出 [Dog,God]-->[Act,Cat]-->[Good]。
我的思路是:
先用一个数组把,原数组(数组1)中的单词,全部转换成大写或小写(数组2),单词顺序跟原数组保持一致;
然后通过对做数组2进行,单个单词的拆分,然后每个单词,根据阿斯科马ASCII 进行排序,然后组成一个新单词,每个单词经过这样的处理后,形成一个新的数组(数组3),迭代数组3中的元素。进行比较,如果相同就记录它们的下标 ,到数组1中去取相应的元素。
不知道我的思路是否正确,或有更好的方式么?
欢迎拍砖。 |