发一道题,求出这个字符串
完善如下函数:// 根据二维数组求出字符串,通过ans指针返回数据 void fun(char array[][3], int len, char *ans) {}
example:
程序代码:
char str[128] = {0}; char array[][3] = {{'t', 's', 'f'}, {'a', 's', 'u'}, {'m', 'a', 'f'}, {'a', 'i', 'n'}, {'s', 'u', 'n'}, {'m', 'f', 'u'}, {'a', 't', 'h'}, {'t', 'h', 'i'}, {'h', 'i', 'f'}, {'m', 'h', 'f'}, {'a', 'u', 'n'}, {'m', 'a', 't'}, {'f', 'u', 'n'}, {'h', 's', 'n'}, {'a', 'i', 's'}, {'m', 's', 'n'}, {'m', 's', 'u'}} fun(array, sizeof(array) / sizeof(array[0]), str); puts(str); // mathisfun
二维数组有len组,每组表示3个字母的先后顺序
如上例 array[0] = {'t', 's', 'f'} 表示所求字符串中 t的位置在s前,s位置在f前
如上例 array[0] = {'t', 's', 'f'} 表示所求字符串中 t的位置在s前,s位置在f前
给个算法就行,当然有代码最好,要求时间限制,我试过全排列runtime error
补充一下:字符串不含重复字母,数据保证有唯一解
项目:
test.zip
(4.67 KB)
[此贴子已经被作者于2016-12-14 10:12编辑过]