Python 两个数组之间的字谜
因此,我从用户输入中创建了两个数组,我想检查数组b是否是数组a的一个字谜,类似的东西,但我不知道希望你们如何帮助我Python 两个数组之间的字谜,python,arrays,anagram,Python,Arrays,Anagram,因此,我从用户输入中创建了两个数组,我想检查数组b是否是数组a的一个字谜,类似的东西,但我不知道希望你们如何帮助我 a = arr.array('i', []) b = arr.array('B', []) k = int(input("Masukkan Banyaknya Elemen A:")) for i in range(0, k): num = int(input("Masukkan Elemen A ke-%d :" % (i + 1
a = arr.array('i', [])
b = arr.array('B', [])
k = int(input("Masukkan Banyaknya Elemen A:"))
for i in range(0, k):
num = int(input("Masukkan Elemen A ke-%d :" % (i + 1)))
a.append(num)
print("All array A elements are:", end="")
for i in a:
print(i, end=" ")
l = int(input("\n"+"Masukkan Banyaknya Elemen B:"))
for B in range(0, l):
num = int(input("Masukkan Elemen B ke-%d :" % (B + 1)))
b.append(num)
print("All array B elements are:", end="")
for B in b:
print(B, end=" ")
我认为,理想情况下,我们可以使用字典来记录所有字母,并在以后检查 代码:-
def counter(s):
string_list = []
for ch in s.lower():
string_list.append(ch)
string_dict = {}
for c in string_list:
if c not in string_dict:
string_dict[c] = 1
else:
string_dict[c] = string_dict[c] + 1
return string_dict
s1 = "anagram"
s2 = "nagaram"
a = counter(s1)
b = counter(s2)
if a == b:
print("Anagram")
else:
print("Not Anagram")
使用某种排序函数(如sorted)的计算成本更高
def counter(s):
string_list = []
for ch in s.lower():
string_list.append(ch)
string_dict = {}
for c in string_list:
if c not in string_dict:
string_dict[c] = 1
else:
string_dict[c] = string_dict[c] + 1
return string_dict
s1 = "anagram"
s2 = "nagaram"
a = counter(s1)
b = counter(s2)
if a == b:
print("Anagram")
else:
print("Not Anagram")