
笔试面试题
文章平均质量分 54
kai8wei
这个作者很懒,什么都没留下…
展开
-
统计每个数字出现的次数。
题目描述:一个数组大小N,由0到N-1之间的数组组成,或重复,或不存在,请统计每个数字出现的次数。#includeusing namespace std;//借用辅助空间,不破坏原数组(空间换时间)void ParseArr(int *a, int l,int *b) { for(int i=0;i<l;++i) { b[a[i]%l]++; }}//在原数组上面进原创 2015-05-12 17:31:36 · 7483 阅读 · 2 评论 -
leetcode题解一
1. 给定一个排序的数组,删除重复的地方,使得每个元素只出现一次并返回新的长度。 不要为另一个数组分配额外的空间,你必须用固定的内存来做这个。 例如,给定的输入数组array A = [1,1,2], 你的函数应该返回长度= 2,和现在array A=[1,2]分析:数组是排好序的,所以首先想到的是遇到一个数就查看后面有没有和自己相同的数有继续后移直到找到和原创 2016-07-27 16:50:09 · 414 阅读 · 0 评论 -
笔试练习二
一. 春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。int Get_MoreThanHalf_Num(char arr[],int n){ if (n <= 0) { return -1; } int ret = 0; int原创 2016-03-30 21:14:04 · 393 阅读 · 0 评论 -
笔试练习一
1.实现一个Memcpy函数2.给定一副扑克牌和一个随机函数,设计一个洗牌算法#include#includeusing namespace std;void Shuffle(int arr[],int n){ if(arr == NULL) { return ; } int原创 2016-03-26 09:48:11 · 560 阅读 · 0 评论 -
笔试练习四
1.用两个栈实现一个队列首先我们知道队列是一个先进先出的数据结构 栈是个先进后出的数据结构所以根据这种特性我们可以分析出可以用两个栈来模拟队列这种数据结构具体的代码实现如下:/*** FileName : Double_statck_create_queue.cpp** Author : weikai** Date : 20原创 2016-05-03 13:08:38 · 419 阅读 · 0 评论 -
笔试练习五
1.把一个数组最开始的若干个元素搬到素组的末尾,我们称之为数组的旋转。输入一个递增的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2} 为{1,2,3,4,5}的一个旋转,找出该数组中的最小数也就是1。分析:首先肯定会想到直接一个一个进行比较不是就可以了吗,但是细心的人会注意到这个题目中特别突出的就是一个递增的词语,这说明这个数组一开始是有序的,尽管进行了旋转也就是有点循环原创 2016-05-22 22:15:18 · 394 阅读 · 0 评论 -
笔试练习三
一.字符串的反转 示例: I love C++ 反转之后是 C++ love I 尽量的减少空间复杂度和事件复杂度思路:先将每个单词进行反转再进行整体反转局部反转:I evol ++C 全部反转:C++ love Ivoid Reverse_char(char str[]){ if (str == NULL)原创 2016-04-06 18:09:43 · 432 阅读 · 0 评论 -
链表操作之快慢指针
使用包括链表的找环 判断链表相交 找倒数第几个节点。。。。。代码:#include#includeusing namespace std;typedef struct node{ int data; int size; struct node*next;}node;typedef node* Lnode;void init(Lnode &head原创 2015-10-24 01:02:00 · 623 阅读 · 0 评论 -
1.A+B Format
Calculate a + b and output the sum in standard format — that is, the digits must be separated into groups of three by commas (unless there are less than four digits).InputEach input file contain原创 2015-06-22 09:50:39 · 649 阅读 · 0 评论 -
判断回文串
#includeusing namespace std;#includebool isPalindromeNumber(long num){ if(num<0) return false; long temp=num; long y=0; while(temp) { y=y*10+temp%10; temp/=10; } return num==y; re原创 2015-04-03 16:54:30 · 850 阅读 · 0 评论 -
实现对一个数据(int)指定位置0或置1
/********************************************************************** * RightMove.cpp * Compiler: GCC,VS,VC6.0 win32 * Author:WK * Time: 2015 3 29 *************************************原创 2015-03-29 20:54:10 · 1992 阅读 · 0 评论 -
海量数据处理问题汇总及方法总结
面试题中总是有好多海量数据的处理问题,在这里列出一些常见问题,便于以后查阅: 类型1:hash映射+hash统计+堆排序1、 给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。 可以估计每个文件安的大小为5G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。转载 2017-08-16 20:29:33 · 369 阅读 · 0 评论