![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 79
CFZero
这个作者很懒,什么都没留下…
展开
-
贝格尔编排法代码
自己编写的适用于单循环比赛的贝格尔编排法代码,若有可改进之处,望高手指正。import java.util.Scanner;public class BergerTest {public static void main(String[] args) {// TODO Auto-generated method stubBergerTest ber = new BergerTest();Syste原创 2015-08-01 14:24:06 · 2860 阅读 · 0 评论 -
两个有序数组,判断一个给定的数p在合并后的位置
有两个有序数组,给定的一个数p(p是两个数组中的任意一个数,也可能同时存在于两个数组之中),判断这个数p在两个数组合并后的大数组的位置。要求:空间复杂度为O(1),即不能真正合并两个数组以下代码实现,其时间复杂度为O(log(m)+log(n)):#include #includeusing namespace std;int getkth(vector arrays,原创 2015-09-07 17:32:39 · 368 阅读 · 0 评论 -
两个有序数组中的第K个元素
给定两个有序的数组,长度分别为m和n,求这两个数组中的第K个元素。 问题分析: 1. 把 A 平均分为前后两个部分,前部分有 x 个元素,后部分有 n-x 个元素(由于 A 是有序的,所以后一部分的所有元素都大于前一部分)。A[x] 为 A 的后一部分中的第一个元素。 2. 同理把 B 也平均分成前后两个部分,前部分有 y 个元素,后部分有转载 2015-09-04 22:00:54 · 461 阅读 · 0 评论 -
作弊用户的检测算法
问题描述:在网上,存在相互提问并回答的作弊刷分现象,为了杜绝这种现象,我们需要对提问题的用户和回答问题用户的行为记录进行检测,作弊行为有两个明显的特征:1、两个用户A,B,当A提出问题时,B进行回答,而且当B提出问题时,A进行回答;则,我们认为A和B均为作弊用户;2、如果作弊用户A和作弊用户B,同时对C提出的问题进行回答,则我们认为C为作弊用户;一个问题可能有多个用户进行回原创 2015-10-17 19:47:45 · 2759 阅读 · 2 评论 -
求解1到n之间素数的个数
常用方法:package test;import java.util.Scanner;public class PrimeCount { //判断一个数是否为素数的时间复杂度为O(sqrt(n)) boolean isPrime(int num){ if(num < 2) return false; int i = 2; for(;i*i<=num;i++){原创 2015-10-18 11:17:35 · 7332 阅读 · 1 评论 -
海量数据算法题
海量数据面试题整理 1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文原创 2015-10-18 15:07:24 · 588 阅读 · 0 评论 -
阶乘算法全集,阶乘末尾非零位,阶末尾零的个数
/阶乘各算法的 C++ 类实现#include iostream>#include cstring>#include iomanip> #include cmath> using namespace std; class Factorial { static const int MAXN = 5001; // 最大阶乘数,实际用不到这么大转载 2015-10-27 21:02:46 · 1297 阅读 · 0 评论