搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 腾讯的一道面试题??欢迎讨论
标题:
腾讯的一道面试题??欢迎讨论
只看楼主
missiyou
等 级:
贵宾
威 望:
16
帖 子:531
专家分:218
注 册:2007-10-9
第
51
楼
得分:0
题目,规定:字符的个数是相同的! 这是定死的了!
如果字符个数不一样!这个方法是一点用都没有,我想某些方法也只在局限中使用才能发挥自己的效果来
[
本帖最后由 missiyou 于 2011-1-14 14:40 编辑
]
2011-01-14 14:39
马后炮
等 级:
黑侠
帖 子:156
专家分:560
注 册:2010-12-17
第
52
楼
得分:0
那反例超简单:
"ac", "bb"
樱之雪,晓之车
2011-01-14 14:40
missiyou
等 级:
贵宾
威 望:
16
帖 子:531
专家分:218
注 册:2007-10-9
第
53
楼
得分:0
对!无语
2011-01-14 14:41
BlueGuy
等 级:
版主
威 望:
29
帖 子:4476
专家分:4055
注 册:2009-4-18
第
54
楼
得分:0
以下是引用
missiyou
在2011-1-14 14:39:13的发言:
题目,规定:字符的个数是相同的! 这是定死的了!
如果字符个数不一样!这个方法是一点用都没有,我想某些方法也只在局限中使用才能发挥自己的效果来
你上次发的那个流程图工具能再共享一次吗 ??
[
本帖最后由 BlueGuy 于 2011-1-14 14:56 编辑
]
我就是真命天子,顺我者生,逆我者死!
2011-01-14 14:45
missiyou
等 级:
贵宾
威 望:
16
帖 子:531
专家分:218
注 册:2007-10-9
第
55
楼
得分:0
buf[(int)*str1 % strlen(str1)] ++;
buf[(int)*str2 % strlen(str2)]++;
strcmp(buf, buf1)
这个方法有编译没过。但思想我想是对的
[
本帖最后由 missiyou 于 2011-1-14 15:24 编辑
]
2011-01-14 15:08
马后炮
等 级:
黑侠
帖 子:156
专家分:560
注 册:2010-12-17
第
56
楼
得分:0
以下是引用
missiyou
在2011-1-14 15:08:35的发言:
buf[(int)*str1 % strlen(str1)] ++;
buf[(int)*str2 % strlen(str2)]++;
strcmp(buf, buf1)
这个方法有编译没过。但思想我想是对的
你还是看我在二楼给出的做法吧,你这样虽然有那个思想,但实际算法是不对的(我不考虑你的语法,只看你算法思路)
樱之雪,晓之车
2011-01-14 15:27
missiyou
等 级:
贵宾
威 望:
16
帖 子:531
专家分:218
注 册:2007-10-9
第
57
楼
得分:0
bool Is_Mach(char *str1,char *str2)
{
int length1, length2;
length1 = length2 = 0;
if(str1 == NULL || str2 == NULL)
return false;
if(strlen(str1) == strlen(str2))
{
while(*str1 != '\0')
{
length1 +=(int)*str1 % strlen(str1);
length2 +=(int)*str2 % strlen(str1);
++str1;
++str2;
}
if(length1 == length2)
return true;
}
return false;
}
2011-01-14 15:31
missiyou
等 级:
贵宾
威 望:
16
帖 子:531
专家分:218
注 册:2007-10-9
第
58
楼
得分:0
在看,求解
2011-01-14 15:31
missiyou
等 级:
贵宾
威 望:
16
帖 子:531
专家分:218
注 册:2007-10-9
第
59
楼
得分:0
现在感觉这个算法有点强了!
2011-01-14 15:36
missiyou
等 级:
贵宾
威 望:
16
帖 子:531
专家分:218
注 册:2007-10-9
第
60
楼
得分:0
bool Is_Mach(char *str1,char *str2)
{
int length1, length2;
length1 = length2 = 0;
if(str1 == NULL || str2 == NULL)
return false;
if(strlen(str1) == strlen(str2))
{
int len = strlen(str1);
if (str1[len -1] == str2[len -1])
{
len = len -1;
}
while(*str1 != '\0')
{
if(*str1 != *str2)
{
length2 += *str2 % len;
length1 += *str1 % len;
}
++str1;
++str2;
}
if(length1 == length2)
return true;
}
return false;
}
传最后一次修改! 总之就是针对出现问题去改进!
小小测试一下,没出问题!在贴上来,请求数据验证!
2011-01-14 17:16
83
6/9页
1
2
3
4
5
6
7
8
9
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-330905-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.306500 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved