原链接是:
人人网2013笔试算法题汇总 2.给定有n个数的数组a,其中有超过一半的数为一个定值,在不进行排序,不开设额外数组的情况下,以最高效的算法找出这个数。 int find(int* a, int n);
这道题的算法还可以优化一下…
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、40 2、Which synchronization mechanism(s…
1、下面的代码输出的结果是什么,并简单分析结果。 [cpp] view plaincopy #include <stdio.h> //无符号数与有符号数相加 int main(int argc, char **argv) { unsigned int a 6; int b -12; if(ab > 0) { …
我们用mod表示对一个数取余数,例如3 mod 5 3, 5 mod 3 2…… a mod b a - [a / b] * b。 在完美洗牌算法中,我们用到了一个映射关系 i (i * 2) mod (2n 1) 其中i 1,2,3,...2n 然后我们对2m (3^k - 1) 开始找圈了,这个结论的证明还…
请写出下面程序的输出结果:(答案在下面)1、 [cpp] view plaincopy int count 3; int main(void) { int i, sum, count 2; for(i0,sum0; i<count; i2,count) { static int count 4; count; …
算法题:实现一个整型数组的全排列,
void perm(int list[], int k, int m)
参数说明:list,数组;k开始位置,m个数。 用递归算法实现代码如下: void perm(int list[], int k, int m)
{if ( km )…
1. 堆排序 #include<iostream>
usingnamespace std; void SwapValue(int &m, int &n)
{ int temp m; m n; n temp;
}
void max_heap(vector<int> &vec, int i, int heap_size)
{ int l 2*i; int r 2*i1; int largest i; if(…
1、下列4行代码是否有错误,若有错误请指出,若没有,请确定a的值是多少? [cpp] view plaincopy int main(void) { int a 3; a (a); //7 a (a); //8 (a) (a); //9 (a) a; …
关于事件 事件(Event)是WIN32提供的最灵活的线程间同步方式,事件可以处于激发状态(signaled or true)或未激发状态(unsignal or false)。根据状态变迁方式的不同,事件可分为两类: (1)手动设置:这种…
实现一个函数:按指定位置交换字符串两部分的位置
比如:函数输入("abcde", 2) 输出"cdeab" 题目的意思应该比较明白,代码实现如下: int SwapStr(char* input, int pos)
{char* p inputpos;int nLen strlen…
给定含有m、n个元素的两个有序(非降序)整型数组a和b。 合并两个数组中的元素到整型数组c,要求去除重复元素并保持c有序(非降序)。 例子如下: a 2,3,4,6,8,9 b 7,9,10
c 2,3,4,6,7,8,9,10 实现如下&…
1.自定义实现字符串转为整数的算法,例如把“123456”转成整数123456.(输入中可能存在符号,和数字) //返回结果的有效标志 enum Status {VALID,IN_VALID}; int gStatus VALID; int strToInt(const char* str) { long long result 0;//保存结果 gS…
1、编程实现两个正整数的除法,当然不能用除法操作符。 [cpp] view plaincopy //编程实现两个正整数的除法,当然不能用除法操作符 int div(const int x, const int y) { int left_num x; int result 0; int multi; while (…