摘要: unordered_map< string, vector<string> >map;存sort之后的每个string及其一串anagram。只是函数的简单调用。注释部分是另一种语法,思路是一样的。 阅读全文
posted @ 2016-03-20 21:13 co0oder 阅读(209) 评论(0) 推荐(0) 编辑
摘要: secret和guess按位读入,如果相等bull就加1,不相等就在各自统计不同数字出现次数的数组里加1(s_map[i]指secret里数字i出现的次数)。最后s_map和g_map存的是各自string中位置不等的各数值出现的次数,cow等于两个数组中相同位置的最小数。 阅读全文
posted @ 2016-03-20 20:34 co0oder 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 维护一个set,保存i之前且与i相差不超过k的一系列数,所以当i>k时,会删去set中nums[i - k - 1]的值,因此k要进行处理,如果k>nums.size(),k赋值为nums.size() - 1。 维护map,对应关系是数值及其位置,存放数值的最新位置(即最大位置),如果读入的数已存 阅读全文
posted @ 2016-03-20 19:47 co0oder 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 最简单粗暴的思路,sort后比较当前数和后一个数是否相同。但是耗时,O(nlogn) 用set优化,放入一个数,如果已经在set中,那么return true 然而set更慢了…… 把set改为unordered_set会快一些,但是仍没有sort快。 阅读全文
posted @ 2016-03-20 17:00 co0oder 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 注:质数从2开始,2、3…… 改进过程: 一、常规思路是对小于n的每一个数进行isPrime判断,isPrime(int x)函数中for(int i = 2; i <= x /2; ++i),如果x%i==0,return false。 二、将isPrime(int x)中i的范围改为i * i 阅读全文
posted @ 2016-03-20 16:32 co0oder 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 与H-Index思路相同,因为输入已经sort了,所以原来的代码去掉了sort,但是会TLE,于是把citation.size()放入一个变量中,这样就不用每次都调用一遍函数了,AC但是82test cases 1038ms,之前H-Index 81test cases 4ms。 看了别人的代码,发 阅读全文
posted @ 2016-03-20 15:46 co0oder 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 结果小数点后面如果是循环的话,要用括号把循环出现的部分括起来。 找出循环部分的思路: 维护一个unordered_map<long, long>dict,对应关系是余数及其在res中的位置。每次计算小数点后的每一位结果时,查找是否已经在dict中,如果已经在了,那么说明已经找到了重复的部分(如结果0 阅读全文
posted @ 2016-03-20 15:40 co0oder 阅读(251) 评论(0) 推荐(0) 编辑