您的位置:首页 > 编程语言 > C语言/C++

Anagram Detection in c

2018-03-27 22:55 316 查看
提前说明没有学过数据结构与算法!!!!!!也不是acm选手!!!!!本题为codewars的7k题目
字谜游戏及在两个乱序的字符串中证明这两个相同
列:
"foefet"
 is an anagram of 
"toffee"

"Buckethead"
 is an anagram of 
"DeathCubeK"

自己只想到一个思路:用两个数组分别记录两个字符串的字母数量,只要证明他们相同就行(只是排序不同)
ac代码如下(只贴重要部分):
while(array[i])
{
     first[array[i]-'a']++;
     i++;
 }

i=0;
while(array2[i])
{
     first2[array2[i]-'a']++;
     i++;
 }
ac完后看了别人kata solution后感觉自己是个弱智~~~~~~~
改良后(抄袭 )
(只贴重要部分)

while(array2[i])
{
     first[array2[i]-'a']--;
     i++;
 }
emmmmmm好像也没有什么卵用但是少了一个数组,最后只要判断有没有超过一的就行
总结:在N个乱序且有范围来证明相同的情况下用数组来解决很方便但是随着N越来越大用的循环也越来越多用的时间也越来越多还是要算法来优化的(orz 越来越感觉算法的重要性了)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 codewars