某创业公司面经2015
2015-10-17 15:12
260 查看
面了某创业公司的笔试题。
头一次,不太适应在线写代码,脑子有点乱。
我解释直接每次都进行拼接,但是面试官说这样做代码老是要开辟新的内存,反而起不到加速的效果。
头一次,不太适应在线写代码,脑子有点乱。
我解释直接每次都进行拼接,但是面试官说这样做代码老是要开辟新的内存,反而起不到加速的效果。
abc eFg Cba Gfe #include <iostream> #include <string> using namespace std; void swap(char *c1,char *c2) { char ch=*c1; *c1=*c2; *c2=ch; } string do_task(string s) { if(s.size()==0) return 0; for(int i=0;i<s.size()/2;++i) { swap(&s[i],&s[s.size()-i]); } s[0]+=32; return s; } string reverseWord(string s) { string s1(""); string res(""); if(s.size()==0) return 0; for(int i=0;i<s.size();++i) { if(s[i]==' '||i==s.size()-1) { if(s[i]==' ') { res += do_task(s1)+" "; } else { res += do_task(s1); } s1=""; } else { if(s[i]>='A'&&s[i]<='Z') { s[i]=s[i]-32; } s1+=s[i]; s1 =s[i]+s1; } } return res; } int main(){ string s="abc eFg"; cout<<reverseWord(s)<<endl; } case1 abc abc def abc\ case2 Abc aBc case3 abcd case4 #include <iostream> using namespace std; const int TEST_TIME 100000000 int main() { vector<string> svec; for(int i=0;i<TEST_TIME;++i) { svec.push_back(generateString()); } start_t for(int i=0;i<TEST_TIME;++i;) reverseWord(svec[i]); } }
相关文章推荐
- android 代码实现控件之间的间距
- [Android]在代码里运行另一个程序的方法
- 肯特·贝克:改变人生的代码整理魔法
- 网页恶意代码的预防
- 高手写的Tracer-Flash代码调试类代码下载
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- CreateWeb.vbs 代码
- Lua和C语言的交互详解
- Lua中编译执行代码相关的函数详解
- 更有效率的css代码编写第1/3页
- 代码中到底应不应当写注释?
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法