假設我有一定數量的字符串,說n
,以隨機順序存儲在一個數組中。有幾個,比如m1
,是string1
和m2
的anagrams是string2
等等的anagrams。 將一個有效的算法分離出特定字符串的字符串並確定每個字符串的字符串數量會是多少?單獨的不同字典
Q
單獨的不同字典
3
A
回答
1
一個有趣的問題。我們對一個字謎的瞭解真的歸結爲兩件事。
- 它們的長度相同。
- 它們由相同的字符組成。
確定第一個條件很簡單,第二個,沒那麼多。通過首先按長度對字符串數組進行排序,可以限制必須執行第二次測試的字符串數量。
第二次測試似乎要求您不僅檢查string1.contains(string2 [n]),還要確定它們在每個字符串中出現的次數相同。我可能想要一個字符串數組的副本,但我會把它作爲一個char []數組,因爲字符串是不可變的。然後我可以通過其組件字符對副本中的每個字符串進行排序。 Anagrams現在可以匹配string1 == string2。
0
#include<stdio.h>
#include<string.h>
int main()
{
char a[100],b[100],c[100],d[100];
char temp;
int i,j;
printf("Enter the first string\n");
gets(a);
printf("Enter the second string\n");
gets(b);
strcpy(d,a);
strcpy(c,b);
for(i=0;i<strlen(a);i++)
{
if(a[i]==' ')
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
a[strlen(a)]='\0';
for(j=0;j<strlen(b);j++)
{
if(b[j]==' ')
{
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}
b[strlen(b)]='\0';
if(strlen(a)==strlen(b))
for(i=0;i<strlen(a);)
{
for(j=i;j<strlen(b);j++)
{
if(a[i]==b[j])
{
temp=b[i];
b[i]=a[i];
b[j]=temp;
i++;
break;
}
}
}
if(strcmp(a,b)==0)
printf("%s and %s are anagrams\n",d,c);
else
printf("%s and %s are not anagrams\n",d,c);
return(0);
}
相關問題
- 1. Python的去除不單獨的字典發生字典鍵
- 2. python:重寫基於單獨字典的單個字典密鑰
- 3. 同時在兩個單獨的字典上執行代碼塊
- 4. Python:單獨打印字典鍵和值
- 5. 不同於字典
- 6. Python的 - 獨特的字典
- 7. 不同的字典實現
- 8. Python的字典清單內(拉單獨的值)
- 9. 創建使用循環Python字典而不定義單獨
- 10. 加入由單獨函數返回的字典,並將字典作爲另一個字典中的值分配。
- 11. 如何cPickle轉儲並將單獨的字典加載到同一個文件?
- 12. 單獨的ID字段的單獨列?
- 13. 單獨的不同版本的網站
- 14. 相同的字典
- 15. 根據選擇的單選按鈕搜索不同的字典
- 16. 使用不同字典中的值連接字典
- 17. 將字典的行轉換爲單獨的熊貓列
- 18. 如何比較字典的值(列表)與單獨的列表?
- 19. 不同響應於單獨的數據
- 20. 不同的櫃檯類型的字典
- 21. 列表或單獨列表的詞典?
- 22. 在python中保存字典作爲單獨參考的方法
- 23. Python從單獨的腳本添加字典值運行
- 24. Python,從字典中打印單獨的索引
- 25. 如何在單獨的Python進程中共享一個字典?
- 26. Python:如何在單獨的行中打印字典?
- 27. 在單獨的XML標記中編寫字典值vb.net
- 28. python3讀取文本文件到單獨的字典
- 29. Ansible從單獨的文件填充字典值
- 30. 創建來自單獨列表的字典列表