o~500的所有奇数的最大公因数数

所有大于O小于10的奇数集合_百度知道
所有大于O小于10的奇数集合
您的回答被采纳后将获得:
系统奖励20(财富值+经验值)+难题奖励30(财富值+经验值)
我有更好的答案
所有大于O小于10的奇数集合{1,3,5,7,9}
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁随笔分类 - 笔试面试
摘要: //函数将句子中的每个单词的首字母改为大写string first_letter(string& sentence){ //定义string 指针,并指向string 首地址 string::iterator it=sentence.begin (); //定义 关键 标志,反映检测到空格字符 bool space_flag= //string 指针未到字符串尾,程序循环。 while(it!=sentence.end()) { //第一次循环指针指向单词首字母,space_flag=true。 ...
丫坏孩子 阅读(336) |
摘要: 阿里巴巴2013实习生招聘笔试题答题说明:1.答题时间90分钟,请注意把握时间;2.试题分为四个部分:单项选择题(10题,20分)、不定向选择题(4题,20分)、填空问答(5题,40分)、综合体(1题,20分);3.其他一些乱七八糟的考试说明。一、单项选择题1.下列说法不正确的是:(D)A.SATA硬盘的速度速度大约为500Mbps/sB.读取18XDVD光盘数据的速度为1GbpsC.前兆以太网的数据读取速度为1GpbsD.读取DDR3内存数据的速度为100Gbps解析:DDR3内存读取速度约为1.6Gbps2.(D)不能用于Linux中的进程通信A.共享内存B.命名管道C.信号量D.临界区3
丫坏孩子 阅读(909) |
摘要: 问题刚才在首页看到一篇博客,说的是腾讯的一道面试题:一个楼梯有50个台阶,每一步可以走一个台阶,也可以走两个台阶,请问走完这个楼梯共有多少种方法?博主把这题分析的很麻烦。引来很多人围观。我以前也碰到过这个问题。写出来和大家分享一下。举个例子,假设有3个台阶,则有三种走法:分别是,1-1-1, 1-2, 2-1。分析很简单的一道题,学过组合数学的人很快就能想到,这是一个递推关系。假设走完k个台阶有f(k)种走法。k = 1时,f(k) = 1k = 2时,f(k) = 2k = n时,第一步走一个台阶,剩n-1个台阶,有f(n - 1)种走法。第一步走两个台阶,剩n-2个台阶,有f(n - 2)
丫坏孩子 阅读(277) |
摘要: 这个是在博客园的博问里面看到的1、现有1000个苹果,10个盒子,现在要你将1000个苹果装入10个盒子中,使得用户无论购买多少个苹果(1-1000),都能由若干个盒子拼装而成(卖的时候是整个盒子卖,不能拆盒子的包装)解法:考虑1, 2, 4, 8这四个数,由这四个数可以组成1-15之间任意一个数,也即1,2, 4 ... 2n 可以组成1-2(n+1)-1之间所有的数。所以这十个盒子分别放入1, 2, 4, 8, 16, 32, 64, 128, 256, 489个苹果,即可组成1-1000内所有的数。2. 有1000瓶液体,无色无味,外表完全一样,其中一瓶是毒药,有10条警犬,警犬喝过毒药
丫坏孩子 阅读(336) |
摘要: 1.哪个表达式不能用这个匹配:a(bc)*d?A.adB. abcdC.abcD.abccd2.INTEL X86 CPU中,哪种运算最慢:A.加B. 减C.乘D.除3.下面程序的输出:#includeint main(){ bool first= int sum =0; int current_ for(unsigned short i=65535;i&=0;--i ) { if(first) { current_value=65535; ...
丫坏孩子 阅读(346) |
摘要: ---恢复内容开始---一、单项选择题1、从n个未排序的数中寻找中位数(第[n/2]大的数),平均时间复杂度最优算法的复杂为:A.O(logn) B.O(n) C.O(nlogn) D.O(n^2)分析:求无序数组的中位数中位数即是排过序后的处于数组最中间的元素。 不考虑数组长度为偶数的情况。设集合元素个数为n。简单的想了下:思路1) 把无序数组排好序,取出中间的元素 时间复杂度 采用普通的比较排序法 O(N*logN) 如果采用非比较的计数排序等方法, 时间复杂度 O(N), 空间复杂度也是O(N).思路2) 2.1)将前...
丫坏孩子 阅读(315) |
摘要: 1、已知两个数字为1~30之间的数字,甲知道两数之和,乙知道两数之积,甲问乙:“你知道是哪两个数吗?”乙说:“不知道”。乙问甲:“你知道是哪两个数吗?”甲说:“也不知道”。于是,乙说:“那我知道了”,随后甲也说:“那我也知道了”,这两个数是什么?答案: 允许两数重复的情况下 答案为x=1, y=4; 甲知道和A=x+y=5, 乙知道积B=x*y=4 不允许两数重复的情况下有两种答案 答案1: 为x=1, y=6; 甲知道和A=x+y=7, 乙知道积B=x*y=6 答案2: 为x=1, y=8; 甲知道和A=x+y=9, 乙知道积B=x*y=8 解: 设这两个数为x,y. 甲知道两数之和 A=x
丫坏孩子 阅读(326) |
摘要: 1、单项选择题1.1 如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少。关于一下几种典型的数据传输速率:1.使用USB2.0闪存盘,往USB闪存盘上拷贝文件的数据传输速率2.使用100M以太网,在局域网内拷贝大文件时网络上的数据传输速率3.使用一辆卡车拉1000块单块1TB装满数据的硬盘,以100km/h的速度从上海到天津(100km)一趟所等价的数据传输带宽4.使用电脑播放MP3,电脑的PCI总线到声卡的数据传输速率在通常情况下,关于这几个传输速率的排序正确的是:A.41的概率是:A.3/8B.3/16C.9/32D.9/64分析:标准做法是先画出y=1-x的线,上侧阴影部分就是
丫坏孩子 阅读(283) |
摘要: 1.单项选择题1.1 使用C语言将一个1G字节的字符数组从头到尾全部设置为字符'A',在一台典型的当代PC上,需要花费的CPU时间的数量级最接近: A. 0.001秒 B. 1秒 C. 100秒 D. 2小时解答:现在机器cpu都是GHz,每次需要若干个指令,大约在1秒。1.2 在某些极端要求性能的场合,我们需要对程序进行优化,关于优化,以下说明正确的是:A. 将程序整个用汇编语言改写会大大提高程序性能。B. 在优化前,可以先确定哪部分代码最为耗时,然后对这部分代码使用汇编语言改写,使用的汇编语句数目越少,程序就运行越快。C. 使用汇编语言虽然可能提高程序性能,但是降低了程..
丫坏孩子 阅读(928) |
摘要: 1、下面代码中for循环共执行了多少次?unsigned short i,j;for(i=0, j=2; i!=j; i+=5, j+=7){}unsigned short占用2个字节,当数据范围到头了(2^16-1),就又从0开始计数了,这个其实就是两辆汽车行驶在一个圆圈里的汽车追及问题。一个速度为5,一个速度为7,当速度为7的超越速度为5的时候,两个汽车就相遇了,2 + 7n- 5n= 2^16 所以共循环了32767次。unsigned short i,j; for(i=3,j=7;i!=j;i+=3,j+=7) 这个也是一样的,7 + 7n- (3+3n)= 2^162、下面程序应..
丫坏孩子 阅读(677) |
摘要: 1、程序输出结果(12)#includeclass Base {public: Base(int j) : i(j) {} virtual ~Base() {} void func1() { i *= 10; func2(); } int getValue() { }protected: virtual void func2() { i++; }protected:};class Child ...
丫坏孩子 阅读(832) |
摘要: 1、1到1亿的数字之和?方法一:分析:两数相加如果有进位,则两数数字之和大于和的各位数字之和。例如:23+46=69,2+3+4+6=6+9;而97+8=105,9+7+8&1+0+5。所以,要把1——这样分组:(0,),(1,),(2,)(3,)……(000000),共组,还剩下数字。这样每一组的数字之和都是:9*8=72总和为:72*=(36亿零1)方法二:1到1亿的自然数,求所有数的拆分后的数字之和,如28
丫坏孩子 阅读(977) |
摘要: 选择题1.求长度为N的散列表的检索长度。分析:按照顺序求和,然后求平均即可2.栈、队列的出入顺序。栈:先入后出,队列:先入先出。3.数组的定义。4.求程序结果。intk=0;char*s='121';do{ k++; if(k%2=0) { a=a+s[k]-‘0’; } b=b+s[k]-‘0’; a=a+s[k]-‘0’;}while(s[k+1])然后输出k/a/b的值分别为多少。5.sql命令,增加一行是哪个命令?分析:insert ...6.创建非主键数据库索引有什么好处?提高(降低)插入速度、提高(降...
丫坏孩子 阅读(306) |
摘要: 第一部分:四个中选出不同的一个。1.A:CVS B:SVN C:GIT D:SSHCVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。SVN(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。SSH
丫坏孩子 阅读(331) |
摘要: 一、不定项选择题1、HTTP状态码500代表什么含义(C)A、请求资源未在服务器上发现B、请求成功,相应的响应头或数据包丢失C、服务器错误D、返回时间500ms注解:HTTP状态码:500:Internal Server Error服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。404:Not Found请求失败,请求所希望得到的资源未被在服务器上发现。2、下面那些不是链表的特点(B)A、插入不需要移动B、快速随即访问一个节点C、所需存储空间与线性表长度成正比D、不用预估计存储大小3、向一个栈找push下列元素,ABCDE,其po
丫坏孩子 阅读(428) |
摘要: 一、不定项选择题1.C/C++语言:以下打印结果为()。#includevoid swap_int(int a, int b){ int temp = a = b =}void swap_str(char *a, char *b){ char *temp = a = b =}int main(){ int a = 10; int b = 5; char *str_a = &hello world&; char *str_b = &world he...
丫坏孩子 阅读(772) |
摘要: 待定。。
丫坏孩子 阅读(347) |
摘要: 第一部分(必做): 计算机科学基础1. (单选)软件设计中模块划分应该遵循的准则是:A.低内聚低耦合 B.高内聚低耦合 C.低内聚高耦合 D.高内聚高耦合答:B内聚指模块内部各成分之间相关程度的度量 强度性低到高分成 偶然内聚 :关系松散没什么联系 逻辑内聚:几个逻辑上相关的功能被放在同一模块中,如一个模块读取各种不同类型外设的输入,逻辑内聚的模块各成分在功能上并无关系。时间内聚:一个模块完成的功能必须在同一时间内执行,这些功能只是因为时间因素关联在一起。通信内聚:如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。顺序内聚: 如果一个模块的各个成分和同一个功能密切相关,而
丫坏孩子 阅读(617) |
摘要: 一、填空1、多任务系统里面,一个任务可以在占有资源的同时申请资源,这会导致_死锁_. 2、实现内联函数的关键词是_inline_ 3、ping、tracert是属于tcp/ip协议族里面的哪个协议? ICMP二、简答1、请尽可能举出你所知道的数据库备份与还原的方法(数据库类型不限,只要知道的就写上)备份:1)直接拷贝要备份的数据库数据2)oracle用rman进行备份3)用sql导入方式4)日志备份5)完整备份6)差异备份还原:1)oracle用rman进行还原2)用sql导出方式3)日志还原4)差异还原2中断是什么?cpu在中断的时候做了些什么?答:中断就是中止当前正在执行的工作,而去执行.
丫坏孩子 阅读(1095) |
摘要: 1、写出输出:char array[] = “abcde”; char* s = //q是p的前驱结点; q-&llink-&rlink=p; p-&llink=q-& q-&rlink=p-& q-&llink=p; p-&rlink-&llink=q; p-&rlink=q;}6、*.dll,*.lib,*.exe文件分别是什么,有什么区别?见:/no7dw/archive//1885890.html用C语言把
丫坏孩子 阅读(1000) |
摘要: 1、对于一个内存地址是32位、内存页是8KB的系统。0X这个地址的页号与页内偏移分别是多少。页面大小是8KB,那么页内偏移量是从0x0000(0)~ 0x1FFF(2的13次方 - 1)。0x5F123/8K=2E,余数是1123;则页号是47页,页内偏移量应该是0X、如果X大于0并小于65536,用移位法计算X乘以255的值为:(X(p);p1++; //整型占四个字节p1++后指向tp = static_cast(p1);printf(&result is %s\n&,p);8、在一冒险游戏里,你见到一个宝箱,身上有N把钥匙,其中一把
丫坏孩子 阅读(2108) |
摘要: 第一部分(必做):计算机科学基础1、长为N的字符串中匹配长度为M的子串的算法复杂度是()A. O(N) B. O(M+N) C. O(N+logM) D. O(M+logN)答:B分析:我查了查,O(M + N)。KMP能做到。这里:http://blog.csdn.net/meixr/article/details/、以下排序算法中,哪些是稳定的排序算法(多选)()A.冒泡B.插入C.合并D.希尔E.快速排序答:ABC3、以下是一颗平衡二叉树,请画出插入键值3以后的这颗平衡二叉树。分析:考察平衡二叉树的基本操作,插入3变成不平衡,需要节点5右旋一次,节点2左旋一次。。4、给定
丫坏孩子 阅读(947) |
摘要: 选择题:1、二维数组int a[3][4],下列能表示a[1][2]的是?A.*(*(a+1)+2) B.*(a+3) C.(&a[0]+1)[2] D.(a[0]+1)2、short a[100],则sizeof(a)的值是?A.2 B.4 C.200 D.400问答题:1、解释说明static、const和volatile两个关键字的作用?关键字static有三个明显的作用:1、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2、在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3...
丫坏孩子 阅读(961) |
摘要: 1、假设进栈次序是e1, e2, e3, e4,那可能的出栈次序是()A、e2, e4, e3, e1B、e2, e3, e4, e1C、e3, e2, e4, e1D、e1, e2, e4, e3给定入栈顺序,求出可能的出栈顺序。(点评:老得掉渣得题目了,只要小心点都没有问题)2、表达式X=A+B*(C-D)/E的后缀表示形式可以是()A、XAB+CDE/-*=B、XA+BC-DE/*=C、XABCD-*E/+=D、XABCDE+*/=分析:XABCD-*E/+=3.四叉树中包含地空指针数量有多少?假设每个节点含有四个指向其孩子的指针,那么给定n个节点,其4n个指针有多少指向空?(比较简单的
丫坏孩子 阅读(5546) |
摘要: 人人网面试题
丫坏孩子 阅读(167) |
摘要: 1.一颗完全二叉树共有768个节点,求叶节点个数__384__个。2.一颗由链表实现的有n个节点,那么指针数____个,指向节点的指针数____个,空闲的指针个数____个。3.哈希散列题,给了11个数字,使用0到12进行散列,填一张表4.1000的阶乘的尾部0的个数__249__个5.liux下mkdir,如果父目录不存在,使用附属命令创建父目录6.”vmstat1“的命令,给出了一张表格,及6个选项判断正误(记不得了)7.(树)前序AEFBGCDHIKJ,中序:EFAGBCHKIJD,求后序8.(数据库题)Table1:(5 2 2)(5 3 1)(5 2 3)Table2:(5 2 2)
丫坏孩子 阅读(179) |
摘要: 人人公司 C++笔试选择填空题1,下列叙述中,正确的是( )A. 线性链表中的各元素在存储空间中的位置必须是连续的B. 线性链表中的表头元素一定存储在其他元素的前面C. 线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D. 线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的2,已知二叉树后序遍历序列是edcfba,中序遍历序列deacbf,它的前序遍历序列是adebcf3,如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是______________4,若有定义语句: int a[3][6];,按在内存中的存放顺序,a数
丫坏孩子 阅读(512) |
摘要: C++笔试题目。1.算法的几个概念:时间复杂度,空间复杂度等等。2.采用链地址法处理长度的时候,哈希表查找成功的平均长度与哪些因素有关?哈希表的装填因子有关。装填因子= 表中填入的记录数/哈希表的长度。3.二叉树节点的计算: 二叉树中度为1的节点有8个,度为0的节点有3个,问这颗二叉树总共有多少节点? 对于任意一棵二叉树BT,如果度为0的结点个数为n0,度为2的结点个数为n2,则n0=n2+1。 所以度为2的节点个数为3-1 = 2,那么总共的结点个数就是3+2+8 = 13。 顺便复习一下完全二叉树的计算。 完全二叉树有一个特点,就是度为1的节点数要么为1,要么为0。可以自己画出图来看看。
丫坏孩子 阅读(226) |
摘要: 一、选择题(每题5分,共计50分)1、对于全局函数 int f(void) ,与其完全等价的函数原型为()A、int &f(); B、int f(void) C、const int f(); D、A、B、C都不是分析:对于int这种数据类型。函数返回的是个常量。与加了const限定的一样,同样不能作为左值。 二者是等价的。我是说int这种类型,如果用户自定义的类型,有时是可以修改,可以作为左值的,这时候就不等价了。。2、下列关于构造函数的描述中,错误的是()A、构造函数可以设置默认的参数B、构造函数在定义类对象时自动执行C、构造函数可以是内联函数D、构造函数不可以重载分.
丫坏孩子 阅读(354) |
摘要: 1、给定一个N位数,例如12345,从里面去掉k个数字,得到一个N-k位的数,例如去掉2,4,得到135,去掉1,5,得到234。设计算法,求出所有得到的N-k位数里面最小的那一个?解决方案一:(1)第一步要确定剩余N-K位的数的最高位:从个位开始算起,从第N-K位开始向高位比较,求出最小数字,作为高位。例如,3 1 1 2 3 3 1,K=3时,从7-3=4开始(为2),向上比较发现,1更小,所以高位设置为1,记录此时位置P1(等于也可以替换,从而取最高位的1).(2)再确定次高位:从N-K-1开始向上到P1-1,此时最小数字为1.依此类推,最后就可以得到最小数1121. 解决方案二:例如,
丫坏孩子 阅读(1775) |
摘要: 一、填空侧重逻辑思维,没有语言、具体技术考察,大部分属于组合数学、算法。比较基本的知识点有二元树节点树、最小生成树、Hash函数常用方法等。二、编程题1、正整数剖分2、AOE关键路径3、二元树前序、中序求后序4、大整数加//正整数剖分#include int func(int n, int k, int max){ int min = (int)((n+k-1)/k); if(k==1) return 1; int count = 0; for(int i=i#include #include void AOE(int adj[][9], int ...
丫坏孩子 阅读(616) |
摘要: 填空题:1、中序遍历二叉树,结果为ABCDEFGH,后序遍历结果为ABEDCHGF,先序遍历结果为? FCBADEGH 如下图所示:2、对字符串HELL0_HULU中的字符进行二进制编码,使得字符串的编码长度尽可能短,最短长度为?25;(哈弗曼编码)1*4+1*4+1*3+3*2+2*2+2*2=253、对长度12的有序数组进行二分查找,目标等概率出现在数组的每个位置上,则平均比较次数为?37/12;(1*1 + 2*2 + 4*3 + 5*4)/12 = 37/124、一副扑克(去王),每个人随机的摸两张,则至少需要多少人摸牌,才能保证有两个人抽到同样的花色。分析:11,4+C(4,2)=1
丫坏孩子 阅读(820) |
摘要: 待写。。
丫坏孩子 阅读(92) |
摘要: 2009年微软清华笔试笔经第一部分 Basics 应该是常识题。一些 Threads,Memory Manager, HTTP session ,OSI&HTTP,Heap&Stack,BTree,SortingAlgorithm 等等。这部分我答的很菜因为没有复习且荒于时间估计要覆没了,基本的内容还是操作系统和数据结构第二部分Reasoning 和以前GRE 的Analitical 很像有组题 也有单题做的还算比较爽第三部分 Programming一道题一个单向链表 给出 链表头pHead 和另一个链表中位置pStartNode,要把它转化为以pStartNode 为头的链表
丫坏孩子 阅读(202) |
摘要: 一选择题1stack的基本操作有哪些?Pushin,pushout,checkifempty(sort不是)2最坏情况下,合并两个大小为n的已排序数组所需要的比较次数答案:2n-1.3、求函数的空间和时间复杂度答案:时间复杂度为O(n),空间复杂度O(1)PS:不知道我做的对不对4解释语言的特性:非独立效率低性5二叉树的前序遍历,中序遍历和后续遍历问题:类似与下面6最坏情况下insertsort,stacksort,quicksort,mergesort的复杂度分别是多少?冒泡排序:o(n*n)选择排序:o(n*n)插入排序:o(n*n)快速排序:O(nlogn)堆排序:O(nlogn)归并排
丫坏孩子 阅读(275) |
摘要: 选择题 10题 答对一题4分 没答0分 打错扣1分1.二叉树的任意两个节点间有一个唯一路径,求出n个节点的二叉树的最长路径的两个节点的最优算法时间复杂度是多少(编程之美3.8,但是树的边是有权的)分析:我一开始以为就是求关键路径,其实不是的,求关键路径时会告诉你起点和终点。思考了一会儿,其实O(n)就够了:从叶子节点开始,找到每个结点的经过它能得到的最长路径和它的最长分支, (node1) e1/ \e2(node2) (node3)很明显,经过node1的最长路径为node2和node3的最长分支之和再加上两条边(e1和e2)的长度代码如下:(该方法实际上不只支持二叉树, 注...
丫坏孩子 阅读(172) |
摘要: 题目:共20题,不定项选择题,分数如下:题目序号全部答对部分对有错未答voidX-XXXX-X0答错是要倒扣分的。从笔试的通知邮件可看到,需要准备的是2B铅笔和橡皮,故应推知是考选择题一类的客观题。以下是我记忆中的题目:1. memcpy和memmove,在dest & src have overlap area情况下谁更安全?(#16)2. 99!的阶乘结果末尾有多少个trailing zero?(我填的是22个)(#18)3.最短路径题,图论的知识(#7)4. MVC里谁是C(#2)A.Javascript B.HTML C.Web Service D.Database E我记不清
丫坏孩子 阅读(132) |
摘要: 1. Suppose that a Selection Sort of 80 items has completed 32 iterations of the main loop. How many items are now guaranteed to be in their final spot (never to be moved again)?(A) 16 (B) 31 (C) 32 (D) 39 (E) 402. Which Synchronization mechanism(s) is/are used to avoid race conditions among processe
丫坏孩子 阅读(129) |
摘要: 1. You are managing the database of a book publichser, you currently store the book orders your company receives in the following BookOrders table. You manager has asked you to generate a report to list all the orders where the quantity ordered was greater than the average quantity per order for tha
丫坏孩子 阅读(178) |
摘要: 1. Which of the following calling convention(s) support(s) supportvariable-length parameter(e.g. printf)?(3 Points) A. cdecl B. stdcall C. pascal D. fastcall问题解析:本题要求选出像printf一样支持变长参数的函数调用约定。1.什么是函数调用约定?答:当一个函数被调用时,函数的参数会被传递给被调用的函数,同时函数的返回值会被返回给调用函数。函数的调用约定就是用来描述参数(返回值)是怎么传递并且由谁来平衡堆栈的。2.常见的函...
丫坏孩子 阅读(552) |
摘要: 第一步:假设两个有序数组(已经各自排序完成了)长度相等,试写函数找出两个数组合并后的中位数?第二步:假设两个有序数组长度不等,一样的求出中位数?思想是二分查找。。。解析: 这个题目看起来非常简单。第一题的话: 假设数组长度为n, 那么我就把数组1和数组2直接合并,然后再直接找到中间元素。对于这样的方案,第一题和第二题就没有什么区别了。这样的话时间复杂度就是O(n)。通常在这样的情况下,那些mentor类型的达人就会循循善诱道:“你还有更好的办法吗:)” 如果比线性更高效,直接能想到的就是对数了O(log(n)),这个时间复杂度在这里可能吗? 当然还是可能的。来继续看看下面的分析。先找来了一个图
丫坏孩子 阅读(529) |
摘要: 百度面试题
丫坏孩子 阅读(255) |
摘要: 腾讯面试题
丫坏孩子 阅读(277) |
摘要: 点对点
丫坏孩子 阅读(181) |
摘要: 百度笔试2
丫坏孩子 阅读(174) |
摘要: 1、C++ vector相关:1)push_back函数的内存分配是如何实现的?2)clear函数的内存分配是如何实现的?2、如何去掉重复页面?3、如何对Query进行分类4、一串首尾相连的珠子(m个),有N种颜色(N《=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度。
丫坏孩子 阅读(228) |
摘要: 一、简答题:1、extern “c”{}是什么含义?用来解决什么问题?分析;extern &C& 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。extern “c”是指将该段代码以C语言形式进行编译、链接。由于C不支持函数重载,C与C++对于同一函数进行编译后在符号表中保存的函数名存在差异,故当进行C、C++混编时会出现一些问题。用来解决C与C++程序连接问题,extern &C& 实现的类C和C++的混合编程2、写出至少两种设计模式,阐明其使用场景,有伪代码更好。单
丫坏孩子 阅读(503) |
摘要: 一、算法设计1、设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。思路:这个使用数学中的极坐标来解决,先调用[s1,t1]随机产生一个数r,归一化后乘以半径,得到R*(r-s1)/(t1-s1),然后在调用[s2,t2]随机产生一个数a,归一化后得到角度:360*(a-s2)/(t2-s2)其他思路:由于rand(s,t)可以返回[s,t]之间的随机小数。对于一个点,我们可以根据两个条件得到它:a.如果能够随机求出点的x和y坐标。b:已知点到圆心的距离和该连线的角度,也可以。第一种情况:x = rand(-1,1)*R;y =
丫坏孩子 阅读(217) |
摘要: 1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如的单词army和mary互为兄弟单词。现在要给出一种解决方案,对于用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地高。字典树的典型应用,一般情况下,字典树的结构都是采用26叉树进行组织的,每个节点对应一个字母,查找的时候,就是一个字母一个字母的进行匹配,算法的时间复杂度就是单词的长度n,效率很高。因此这个题目可以定义一个字典树作为数据结构来查询的,时间效率会很高,这样就转化为在一棵字典树中查找兄弟单词,只要在字典树中的前缀中在存储一个v
丫坏孩子 阅读(365) |
摘要: 1、解释const的含义及实现机制const的含义及实现机制,比如:const int i,是怎么做到i只可读的?答:const用来说明所定义的变量是只读的。这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。2、买200返100优惠券,实际上折扣是多少?到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?答:由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。假设开始时花了x元,那么可以买到 x + x/2 + x/4 + ...的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是
丫坏孩子 阅读(722) |
摘要: 1、1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少? 答案:2和32、爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少? 答案:1-12*11*10*9/12*12*12*12 = 1-55/96 = 41/963、计算 a^b 和.(成员)最高; 单目的比双目的高; 算术双目的比其他双目的高; 位运算 高于 关系运算; 关系运算 高于 按位运算(与,或,异或); 按位运算 高于 逻辑运算; 三目的只有一个 条件运算,低于逻辑运算; 赋值运算仅比 , (顺序运算)高。 在此题中,位左移”=0...
丫坏孩子 阅读(254) |
摘要: 一、选择题1、数据库表设计最合理的是(A)A、学生{id,name,age} 学科{id,name} 分数{学生id,学科id,分数}分析:数据库里面 一般是 学生,学科,分数 分开放。2、在数据库系统中,产生不一致的根本原因是(D)A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余3、15L和27L两个杯子可以精确地装(C)L水?A. 53 B. 25 C. 33 D. 52分析:15和27 升水 可以装出 3升水,故:27 + 3 +3 因此33合理。。4、考虑左递归文法 S-&Aa|b、 A -&Ac | Sd |e,消除左递归后应该为(A)e
丫坏孩子 阅读(2007) |
摘要: 一、填空题1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B)A、插入排序B、堆排序 C、冒泡排序 D、快速排序2、以下关于Cache的叙述中,正确的是()A、CPU中的Cache容量应大于CPU之外的Cache容量B、Cache的设计思想是在合理成本下提高命中率C、Cache的设计目标是容量尽可能与主存容量相等D、在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素3、数据存储在磁盘上的排列方式会影响I/O服务的性能,一个圆环的磁道上有10个物理块,10个数据记录R1------R10存放在这个磁道上,记录的安排顺序如下表所示:物理块123456...
丫坏孩子 阅读(418) |
摘要: 一、选择题1、32位机上根据下面的代码,问哪些说法是正确的?()signed char a = 0xe0;unsigned int b =unsigned char c =A. a&0 && c&0 为真 B. a == c 为真 C. b 的十六进制表示是:0xffffffe0 D.上面都不对考点:有符号数和无符号数之间的转换解析:将0xe0转换成二进制是,因为0xe0的最高位是1,所以作为有符号数的时候就是负数,作为无符号数的时候就是正数,因此A选项是错的,同时B也是错误的。负数的高位用1补齐,正数的高位用0补齐,所以b(0xe0)
丫坏孩子 阅读(1340) |
摘要: 选择D。循环队列的front和rear必有一个不指向实质元素,不然无法判断队列满或空。C。是这样的原理,磁盘会一直朝某个方向旋转,不会因为处理数据而停止。本题要求顺序处理R1到R10,起始位置在R1,一周是20ms,共10个记录,所以每个记录的读取时间为2ms。首先读R1并处理R1,读R1花2ms,读好后磁盘处于R1的末尾或R2的开头,此时处理R1,需要4ms,因为磁盘一直旋转,所以R1处理好了后磁盘已经转到R4的开始了,这时花的时间为2+4=6ms。这时候要处理R2,需要等待磁盘从R5一直转到R2的开始才行,磁盘转动不可反向,所以要经过8*2ms才能转到R1的末尾,读取R2需要2ms,再处理
丫坏孩子 阅读(437) |
摘要: 一、选择题1、计算表达式x6+4x4+2x3+x+1最少需要做()次乘法A、3 B、4 C、5 D、6分析:第一次乘法:x^2第二次乘法:x^4=x^2 * x^2第三次乘法:x^2 * (x^4+4x^2+2x)+x+1每一项系数用加法实现。误区:x^2,x^4,x^3,x^6 每一项都通过乘法求出2、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()Int a1=x+y-z; int b1=x*y/z;Int a2=x-z+y; int b2=x/z*y;Int c1=x&z; int d1=x&y|z; //&(右移) &(按位与,清零时
丫坏孩子 阅读(990) |
摘要: 一、选择题1、已知中国人的血型分布约为A型:30%,B型:20%,O型:40%,AB型:10%,则任选一批中国人作为用户调研对象,希望他们中至少有一个是B型血的可能性不低于90%,那么最少需要选多少人?A、7 B、9 C、11 D、13分析:题目要求,至少有一个是B型血,那么我们可以求:一个B型血也没有,假设选择x个人,则有1-0.8^x &=0.9 即求0.8^x = 0) --k;A、20次 B、一次也不执行C、死循环 D、21次分析:由于k是unsigned int类型,故,执行无数次。。死循环。。18、关于Cookie 和 Session的概念哪一个是对的()A、Cookie..
丫坏孩子 阅读(1038) |
摘要: 1. 有一个整数数组,请求出两两之差绝对值最小的值, 记住,只要得出最小值即可,不需要求出是哪两个数。方法1:暴力的方式。遍历所有的两个数的差,记录最小值。算法的复杂度O(n2)方法2:两个数要想差的绝对值最小,肯定是需要两个数大小相近。故有思路:先对数组进行排序,然后遍历一遍,相邻的数相减,记录绝对值最小的数。方法3:将现在的问题进行转化:设这个整数数组是a1,a2,...,an构造数组B=(b1,b2,...,bn-1)b1 = a1-a2,b2 = a2-a3,b3 = a3-a4,...bn-1 = an-1 - an那么原数组中,任意两整数之差ai-aj(10) ...
丫坏孩子 阅读(170) |
摘要: 题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为两个整数m和n(1#includestring search(int a[][1000], int m, int n, int key){ int i = 0; int j = n - 1; while(i = 0) { if (a[i][j] == key) ...
丫坏孩子 阅读(52) |
摘要: 题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{ public: CMyString(char *pData=NULL); CMyString(const CMyString& str); ~CMyString(void); private: char *m_pD }1、经典解法,初级程序员:CMyString& CMyString::operator =(const CMyString &str){ ...
丫坏孩子 阅读(98) |
摘要: 一、单选题1、在常用的网络协议中,___是面向连接的、有重传功能的协议。A、IP B、TCP C、UDP D、DXP分析:TCP协议为传输控制协议面向连接,IP为网际协议,UDP为用户数据报协议。。2、500张多米诺骨牌整齐地排成一列,依顺序编号为1、2、3……499、500。第一次拿走所有奇数位置上的骨牌,第二次再从剩余骨牌中拿走所有奇数位置上的骨牌,依此类推。请问最后剩下的一张骨牌的编号是多少?A、128 B、250 C、256 D、500分析:第一次后剩下250个偶数 2 4 6...500,将它们除以2得到1~250的一列,以此类推8次,最后剩余1,即1×2^8=256(最.
丫坏孩子 阅读(4002) |
摘要: 题目:一个url指向的页面里面有另一个url,最终有一个url指向之前出现过的url或空,这两种情形都定义为null。这样构成一个单链表。给两条这样单链表,判断里面是否存在同样的url。url以亿级计,资源不足以hash。如果交叉则最后节点的url肯定是相同的!不管链表是怎么链接的,不管链表a和链表b在实际实现中是不是有节点交叉,还是仅仅是节点的内容交叉,两个链表的最后节点肯定相同,如果是重复的话!要审题认真,认真考虑题目,最好能画图,这样就不会思路偏了一旦出现链表的题目,就一定要考虑到环和交叉的问题;本题可以抽象为有环和无环情况下的链表交叉问题:情况一:两条单链表均无环 最简单的一种...
丫坏孩子 阅读(285) |
摘要: (1)如果说,在操作系统中引入进程的目的,是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量。那么,在操作系统中再引入线程,则是为了减少程序在并发执行时所付出的空间开销,使OS具有更好的并发性。进程是作为拥有系统资源的基本单位,同时也是一个可独立调度和分派的基本单位(线程也是)。通常进程包含多个线程并为它们提供资源(2)线程安全:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导
丫坏孩子 阅读(509) |
摘要: 题目:一个单词单词字母交换,可得另一个单词,如army-&mary,成为兄弟单词。提供一个单词,在字典中找到它的兄弟。描述数据结构和查询过程。解法一:使用hash_map和链表(1)首先定义一个key,使得兄弟单词有相同的key,不是兄弟的单词有不同的key。例如,将单词按字母从小到大重新排序后作为其key,比如bad的key为abd,good的key为dgoo。 (2)使用链表将所有兄弟单词串在一起,hash_map的key为单词的key,value为链表的起始地址。 (3)开始时,先遍历字典,将每个单词都按照key加入到对应的链表当中。(4)当需要找兄弟单词时,只需求取这个单词的ke
丫坏孩子 阅读(1304) |
摘要: 相同点:(1)都是申请内存,释放内存,free和delete可以释放NULL指针;(2)都必须配对使用,这里的配对使用,可不能理解为一个new/malloc就对应一个delete/free,而是指在作用域内,new/malloc所申请的内存,必须被有效释放,否则将会导致内存泄露。 new/delete的功能完全覆盖了malloc/free,为什么C++还保留malloc/free呢?因为C++程序经常要调用C函数,而C程序只能用malloc/free管理动态内存。如果用free释放“new创建的动态对象”,那么该对象因无法执行析构函数而可能导致程序出错。如果用delete释放“malloc..
丫坏孩子 阅读(121) |
摘要: 方法一:初始化最大值为a[0],次大值为a[1],遍历一次,每次比较并更新最大值和次大值,最后就可以得到次大值。代码如下:#include&stdio.h&#include&stdlib.h&int findSecond(int *a,int size){ int i,max,s_ max=a[0]; //最大值 s_max=a[1]; //次大值 for(i=0;i&i++) { if(a[i]&max) { s_max= //更新最大值和次大值 max=...
丫坏孩子 阅读(298) |
摘要: 第一种方法(可能越界):a=a+b;b=a-b;a=a-b;第二种写法(只适用于整数):解决方法:(a、b异或的结果 ,和a异或得b ,和b异或得a)a=a^b;b=a^b;a=a^b;写成宏替换法:#define swap(a,b) (a)^=(b)^=(a)^=(b)
丫坏孩子 阅读(53) |
摘要: 题目:给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i]。在构造过程:不允许使用除法;要求:O(1)空间复杂度和O(n)时间复杂度;除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、对空间和全局静态变量等);请用程序实现并简单描述。方法一:首先进行一次迭代:i:1-n-1b[i]=b[i-1]*a[i-1];这样下去就是:b[1] = a[0]b[2] = a[0]a[1]…b[i] = a[0]a[1]a[2]…a[i-1]…b[n-1] = a[0]a[1]…a[n-2]…b[i] = a[0]a[1]a[2
丫坏孩子 阅读(1555) |
摘要: 题目是这样描述的:“水王”发帖的数目超过了所有帖子的一半,有各个帖子的作者ID,求这个水王的ID编程之美给出了两种巧妙的解法解法一:ID排序,那么ID列表中的N/2项即为要找的ID(还要排序,时间复杂度为O(NlogN))解法二:通过查找,每次从列表中除去两个不一样的ID,最后就可以得出这个ID,时间复杂度O(N)。写法上也有技巧,不必非要找到一个不一样的在继续下去,如果下一个一样,那么用一个变量记录这个次数,把次数+1,遇见不一样的-1。例如1,1,2,3,4 初始value =1,count =1,第二个1,value = 1,count =2,下一个2,value=1,count=1,下
丫坏孩子 阅读(849) |
摘要: 给定整数,判断是否是2的方幂。。我们来做分析:2-&10 & 1-&01 == 0 4-&100 & 3-&011 == 0 8-&1000 & 7-&0111 == 0 16-&10000 & 15-&01111 == 0是否看到规律呢。。n&(n-1)==0代码:int judge(int n){ return (n&0&&(n&(n-1)==0));}
丫坏孩子 阅读(57) |
摘要: 解法一:找出n!中质数2和质数5的个数,由于能被2整除的数的个数比能被5整除的数多的多,因为只需求出质数5的个数。利用Z=[Z/5]+[Z/25]+[Z/125]+....,其中[Z/5]表示&=z的数中含有质数5的个数。。代码:#include&iostream&int main(){ int n, sum=0; cin&&n; while(n) { n/=5; sum+=n; } cout&&sum&& system(&pause&); return ...
丫坏孩子 阅读(86) |
摘要: 扩展问题:给定二进制数N,写下从1开始到N的所有二进制数,数一下其中出现的所有“1”的个数: f(1)=1 f(10)=10 (因为01,10,有两个1) f(11)=100 (因01,10,11,有四个1)解答:考虑f(1011):1,10,11,100,101,110,111,10,1011 第一位上:高位数为101,每两个数就出现一个1,则出现101个1;且current位为1,低位数为0,所以5+1=6 第二位上:高位数为10,每四个数出现一个1,则出现(10)*2=4个1;且current位为1,...
丫坏孩子 阅读(82) |
摘要: 1、给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数?解法一:从1到N遍历,将每个数中含有“1”的个数加起来。。时间复杂度:O(n)*每个整数中“1”的个数复杂度=O(N*lgN)。。随着N增大,时间超越线性增长。。#include&iostream&int getNum(int n){ if(n==0) return 0; int num=0; while(n!=0) { num+=(n%10==1)?1:0; n/=10; } return nu...
丫坏孩子 阅读(114) |
摘要: 解法一:举例说明,为了减少复杂度,就使用八位二进制吧。设 A = , B = . 1. C = A & B = ; 2. D = A | B = ; 3. E = C ^ D = ; 4. 结果E中有4个1,那么也就是说将A变成B,需要改变4位(bit)。 至于如何判断E的二进制表示中有几个1,可以采用快速移位与方法。 算法原理如下: 1. A & B,得到的结果C中的1的位表明了A和B中相同的位都是1的位; ...
丫坏孩子 阅读(1885) |
摘要: #include&iostream&/* Description: 解法一:求余法,时间复杂度O(lgn) 以为例: 第一次除以2时,商为1010001,余数为0; 第二次除以2时,商为101000,余数为1; ...... 故,可以利用整形数据除法的特点,通过相除判断余数的值来分析。有如下代码: */int getNum1(int n){ if(n==0) return 0; int count=0; while(n) { if(n%2==1) { ...
丫坏孩子 阅读(84) |
摘要: 已知String类定义如下:class String{public: String(const char *str = NULL); // 通用构造函数 String(const String &another); // 拷贝构造函数 ~ String(); // 析构函数 String & operater =(const String &rhs); // 赋值函数private: char *m_ // 用于保存字符串};尝试写出类的成员函数实现。String::String(const char *str){ if ( str == NULL ...
丫坏孩子 阅读(1950) |
摘要: 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数 strcpy。char *strcpy(char *strDest, const char *strSrc){ if ( strDest == NULL || strSrc == NULL) return NULL ; if ( strDest == strSrc) return strD char *temp...
丫坏孩子 阅读(3179) |
摘要: 1、结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻, 联合中只存放了一个被选中的成员(所有成员共用一块地址空间), 而结构的所有成员都存在(不同成员的存放地址不同)。2、对于联合的不同成员赋值, 将会对其它成员重写,原来成员的值就不存在了, 而对于结构的不同成员赋值是互不影响的。3、下面关于“联合”的题目的输出?#include &stdio.h&union{ char x[2];}a;void main(){ a.x[0] = 10; a.x[1] = 1; printf(&%d&,a.i);}答案:266 (低位低地址,高位高地
丫坏孩子 阅读(160) |
摘要: 1、什么是“引用”?声明和使用“引用”要注意哪些问题? 引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。2、将“引用”作为函数参数有哪些特点? (1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参.
丫坏孩子 阅读(49) |
摘要: 栈和堆究竟是什么,在内存中是如何分配的呢? 接触过编程的人都知道,高级语言都能通过变量名来访问内存中的数据。那么这些变量在内存中是如何存放的呢?程序又是如何使用这些变量的呢?下面就会对此进行深入的讨论。下文中的C语言代码如没有特别声明,默认都使用VC编译的release版。 首先,来了解一下C语言的变量是如何在内存分部的。C语言有全局变量(Global)、本地变量(Local),静态变量(Static)、寄存器变量(Regeister)。每种变量都有不同的分配方式。先来看下面这段代码:#include &stdio.h& int g1=0, g2=0, g3=0; int main
丫坏孩子 阅读(175) |
摘要: 非常经典的解释=_=堆和栈的区别一、预备知识:程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap):一般有程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式类似于链表。。 3、全局区(静态区:static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。 4、文字常量区:常量字...
丫坏孩子 阅读(107) |
摘要: 第一种方法:a=a+b;b=a-b;a=a-b;第二种方法:解决方法:(a、b异或的结果 ,和a异或得b ,和b异或得a)a=a^b;b=a^b;a=a^b;异或运算法则:0^0=00^1=11^0=11^1=0写成宏替换的方法如下:#include &stdio.h&#define swap(a,b) (a)^=(b)^=(a)^=(b)int main(void){ int a,b; printf(&请输入两个变量a和b:/n&); scanf(&%d %d&,&a,&b); printf(&a和b交换前
丫坏孩子 阅读(65) |}

我要回帖

更多关于 所有的素数都是奇数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信