微软2014实习生及秋令营技术类职位在线测试返回比赛列表
2014-04-13 00:18
459 查看
只做了两个,第一个90分(实在想不出错在哪里...谁能给个测试用例不?),第二个40分(其实已经发现问题了,等要再改时间不够失去修改的动力了...)
题目1 : String reorder
思路是:HASH计数,按计数排序输出
#include <iostream> #include <string> using namespace std; int num[10]; int alpha[26]; void init() { for(int i=0;i<10;i++) { num[i]=0; } for(int i=0;i<26;i++) { alpha[i]=0; } } void output(int size) { while(size){ for(int i=0;i<10;i++) { if(num[i]>0) { cout<<i; num[i]--; size--; } } for(int i=0;i<26;i++) { if(alpha[i]>0) { cout<<(char)('a'+i); alpha[i]--; size--; } } } if(size==0) cout<<endl; } void func() { string s; while(cin>>s) { init(); bool flag=true; int size=s.size(); for(int i=0;i<s.size();i++) { if(s[i]>='0'&&s[i]<='9') { num[s[i]-'0']++; }else if(s[i]>='a'&&s[i]<='z') { alpha[s[i]-'a']++; }else { flag=false; } } if(flag==false) { cout<<"<invalid input string>"<<endl; } else { output(size); } } //getchar(); } int main(int argc, char *argv[]) { //printf("Hello, world\n"); func(); return 0; }
题目2 : K-th string
思路:
1可以考虑全排列,将重复的剔除,然后排序输出(一上来想到的方法,结果自己看了下m+n,k数字,怕太大,没这样写下去 ....)
2考虑000011111,111110000最小,最大值,这两个范围的整数,从最小值顺序遍历到最大值,利用其含二进制1的个数判断是否为m,来确定是否属于该string集合,然后数到第k个
3考虑从000011111,按照字典序依次递增到111110000(我最后选择了这个思路,但没有写完整,如果在保持01个数的情况下形成字典序,需要找到规律对01进行swap)// by zjerry 待补充
题目3 : Reduce inversion count
思路:1按例子上的说明最直接的想法是,每swap两个数字后就计算一下逆序数(或者只计算这两个数和他们之间的数的逆序数变化),然后求出最小值(看了题目,没有动笔...稍微想了下因为swap两个数字是组合O(n^2),然后求逆序数至少也要O(nlogn),这...我又怕超时没敢写)
2
题目4 : Most Frequent Logs
相关文章推荐
- 微软2014实习生及秋令营技术类职位在线测试第3题
- 微软2014实习生及秋令营技术类职位在线测试--String reorder
- 微软2014实习生及秋令营技术类职位在线测试-题目2 : K-th string
- 微软2014实习生及秋令营技术类职位在线测试_题目3 : Reduce inversion count
- 微软2014实习生及秋令营技术类职位在线测试之 2. K-th String
- 【微软2014实习生及秋令营技术类职位在线测试】题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试-题目1 : String reorder
- 微软2014实习生及校招秋令营技术类职位在线测试:2.K-th string
- 微软2014实习生及秋令营技术类职位在线测试-1_String reorder
- 【微软2014实习生及秋令营技术类职位在线测试】题目2 : K-th string
- 微软2014实习生及秋令营技术类职位在线测试 题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试: K-th string
- 微软2014实习生及秋令营技术类职位在线测试-1.StringReorder.cpp
- 微软2014实习生及秋令营技术类职位在线测试(题目1 : String reorder)
- 微软2014实习生及秋令营技术类职位在线测试-2.K-th string.cpp
- 微软2014实习生及秋令营技术类职位在线测试(题目1 : String reorder)
- 微软2014实习生及秋令营技术类职位在线测试 String reorder java
- 微软2014实习生及秋令营技术类职位在线测试 原创解答 题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试[题目与答案]
- 微软2014实习生及秋令营技术类职位在线测试:String reorder