腾讯2015实习生招聘模拟考--其中一题
2015-03-22 21:36
204 查看
描述:
DNA中有A、C、G、T等基因单元吧,ACGT算是在单词表中的正常顺序,而CA,GA,GC,TA,TC,TG算是逆序对,给你一个基因序列,即包含A、C、G、T的字符串数组,请在线性时间复杂度内求出逆序对的个数。思路:
先用四个变量第i个字符前的A、C、G、T字符数存储起来,当道第i个字符时,假设第i个字符为C,则对于C前面出现的字符G,T所出现的次数即为构成的逆序对GC和TC逆序对的个数,题目得解。代码:
public static int inversionPairsCount(String str) { int countFinal=0; int arr[]=new int[4]; Arrays.fill(arr, 0); int len=str.length(); int i=0; char ch; while(i<len) { ch=str.charAt(i); i++; switch (ch) { case 'A': { arr[0]++; countFinal=countFinal+arr[1]+arr[2]+arr[3]; } break; case 'C': { arr[1]++; countFinal=countFinal+arr[2]+arr[3]; } break; case 'G': { countFinal=countFinal+arr[3]; arr[2]++; } break; default: arr[3]++; break; } } return countFinal; }
相关文章推荐
- 腾讯2015实习生招聘模拟考--其中一题
- 腾讯2015软件开发实习生招聘笔试
- 腾讯2015实习生招聘基础研究岗笔试面试总结
- 腾讯2015实习生招聘笔试题部分
- 腾讯-2018实习生招聘-软件测试-模拟考
- 腾讯-2018实习生招聘-软件测试-模拟考
- 腾讯2015实习生招聘基础研究岗笔试面试总结
- 腾讯-2018实习生招聘-软件测试-模拟考
- 腾讯-模拟考-技术研发类-移动客户端开发-2018实习生招聘
- 2015华为实习生招聘机试模拟考1之密码截取
- 面试----2015腾讯3-4月实习生招聘(笔试,一面,二面)
- 腾讯2015实习生招聘---内推,提前批 腾讯2015实习生招聘TST计划,寻找下一代互联网精英
- 2015华为实习生招聘机试模拟考1之求一个int型证书的两种递减数之和
- 腾讯2015实习生招聘笔试+面试(技术岗)
- 2016腾讯春季实习生招聘软件测试开发岗位笔试题
- 腾讯2014校园实习生招聘
- 百度2015春季实习生招聘附加题_今天要吃点好的!
- 2017腾讯Web前端实习生招聘笔试题总结
- 2015华为实习生招聘机试和面试记录(2015年3月28南研所)
- 华为、腾讯实习生招聘笔试、面试经验