原题描述利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3,若压缩后的字符串没有变短,则返回原字符串。算法Ideas: 计算压缩后的长度newLen 利用newLen开辟数组 遍历找到重复字符,并更新新数组Algo: 主压缩函数...
原题描述编写一个方法,将字符串中的空格全部替换成“%20”。假定字符串尾部有足够的空间存放新增字符,并且知道字符串的真实长度。算法Tips: 处理字符串问题的时候,常见的:从尾部编辑,从后向前反向操作 关于C++的cin使用用法Ideas: 遍历一遍,数出空格数,并计算新的字符串长度 再从后往前遍历一遍,...
原题描述给定两个字符串,请编写程序,确定一个字符串的字符重新排列之后,能否成为另外一个字符串算法Tips:应询问一些关于变位词的细节 是否区分大小写, 即 God和dog是否为变位词? 在比较的字符串是否考虑空白(空格)?Idea: 若两个字符串长度不同,则一定不是变位词 若相同,则有两种方案,即排序和统...
原题描述用C或者C++实现void reverse(char *str)函数,即反转一个以null结尾的字符串算法Idea: 由于null结尾,不能使用strlen获取字符长度,——>先找到结尾字符的指针 从头——>中<——尾 进行交换,直到尾指针≤头指针,结束程序Algo:定义尾指针 = ...
原题描述实现一个算法,确定一个字符串中的所有字符是否全部不同。假设不允许使用额外的数据结构,如何处理算法 方案一:使用排序,时间复杂度O(nlogn),但是很多排序算法需要额外空间 方案二: 询问是否使用ASCII字符集,还是Unicode字符集,若使用A...
常用软件: Alfred:效率Top1的工具 翻墙软件Lantern(免费流量只有800Mb),最好使用XX-Net,可以使用多个apple id,每天12G的免费流量。 办公软件Office Markdown笔记软件:Typora 常用软件QQ,搜狗拼音,微信,网易云音乐 编辑器Atom IDE:...
原题描述输入每个输入文件有且仅有一组测试数据。每个测试数据的第一行为一个整数N,表示河蟹词典的大小。接下来的N行,每一行为一个由小写英文字母组成的河蟹词语。接下来的一行,为一篇长度不超过M,由小写英文字母组成的文章。对于60%的数据,所有河蟹词语的长度总和小于10, M<=10对于80%的数据,所有河蟹词语...