频道栏目
首页 > 考试 > 其他 > 正文

String Subtraction - 编程开发习题

2018-06-28 14:08:40         来源:悟已往之不谏,知来者之可追  
收藏   我要投稿

有两点需要注意。
strlen: 在for循环进行枚举的时候,尽量不要写成 i < strlen(str),因为strlen()函数的内部实现是用循环扫描数组的方式来计算字符串的长度的,所以本身的复杂度就是O(N)。
字符和ASCII: 在c语言中,字符和整数是有很好的转换关系的,具体而言。

C语言中,字符和其ASCII码是等价的,比如’A’这个字符和单字节整数65是等价的.
比如char c=’A’;int a=c;的话,a就是65
其余可以参考这篇文章

然后这道题目的话用map感觉会不太好做,像空格这种字符不知道能不能映射或许能吧。最好还是可以抓住字符和ASCII这种便捷的转换关系。

#include 
#include 
#include 
#include 
#include
#include 
#include 
#include 
#include 
#include 
using namespace std;

const int maxn = 10010;
int Hashtable[128];
char a[maxn],b[maxn];

int main()
{
    gets(a);
    gets(b);
    int lena = strlen(a);
    int lenb = strlen(b);
    memset(Hashtable, 0 , sizeof(Hashtable));
    for(int i =0;i < lenb; i++)
        Hashtable[b[i]]=1;
    for(int i =0;i < lena; i++)
        if(Hashtable[a[i]]==0)
            printf("%c",a[i]);

    return 0;
}
上一篇:程序开发斐波那契数列解析
下一篇:最长公共前缀,有效的括号问题解析
相关文章
图文推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站