自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 一些IT公司的大概薪水情况

拿到OFFER之后最关心的肯定是待遇问题了,所以打算把我所知道的待遇统统列出来,在网 上很少看到这样的帖子和说明,反正自己也不找工作了,全部说一遍,万一有人看到我这 帖子了,也算对他有所交待哈哈,待遇在我这里全部可以看到,感觉网上的帖子抄来抄去 ,鄙视之,所以打算自己写个帖子,除去那些谣言。常常听到人说这个公司待遇怎么差, 但事实上却是很好。说这个公司待遇怎么好,待遇却是很差。所以决定自己以自己的

2007-12-30 20:11:00 5162 1

原创 程序员面试题精选(55):如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)

看上去似乎任何已知的算法都无法做到,如果谁做到了,那么所有的排序方法:QuickSort,ShellSort,HeapSort,BubbleSort等等等等,都可以扔掉了,还要这些算法干吗阿,呵呵。不过实际上,在数字范围有限制的情况下,是有一个这样的算法的,只需要用一个数组记录每个数字出现次数就可以了。假定你的数字范围在0到65535范围之内,定义一个数组count[65536](这个

2007-12-30 20:00:00 2236

转载 c语言面试题汇总

1、局部变量能否和全局变量重名?   答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。    2、如何引用一个已经定义过的全局变量?   

2007-12-30 19:50:00 3821

转载 腾讯部分笔试面试题

1、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 2、如何输出源文件的标题和目前执行行的行数 3、两个数相乘,小数点后位数没有限制,请写一个高精度算法 4、写一个病毒 5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥? 2008年腾讯招聘

2007-12-30 19:47:00 3128

原创 一道百度面试题题解

  问: A厂有1万个工人,编号0-9999,( EE[10000] ), 1个厂长( GG )分派任务, 1个监工( MM )管理工人.厂子忙的时间不确定,可能突然很忙,1天接到任务5000多个,1个任务只能分配给1个工人做, 也可能好几十天没新任务.厂长分配任务给这1万个工人干,按工人编号一个一个来,到最后一个工人就又从头开始,任务完成时间各不相同,可能一个工人在分配任务的时候手里还有任务,

2007-12-30 14:05:00 1689

原创 部分it公司的笔试小算法题精选

1、将一整数逆序后放入一数组中(要求递归实现)void convert(int *result, int n) {     if(n>=10)         convert(result+1, n/10);     *result = n%10;    }int main(int argc, char* argv[]) {     int n = 123456789,

2007-12-30 13:54:00 4536 1

转载 程序员面试题精选(54):找出数组中两个只出现一次的数字

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。分析:这是一道很新颖的关于位运算的面试题。首先我们考虑这个问题的一个简单版本:一个数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。这个题目的突破口在哪里?题目为什么要强调有一个数字出现一次,其他的出现两次?我

2007-12-30 13:41:00 2338 1

转载 程序员面试题精选(53):删除链表结点(时间复杂度为O(1))

题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:struct ListNode{      int        m_nKey;      ListNode*  m_pNext;};函数的声明如下:void DeleteNode(ListNode* pListHead, ListNode* pToBeDeleted);分析:这是一

2007-12-24 15:00:00 2048

转载 数据结构面试大全

 1.判断链表是否存在环型链表问题:判断一个链表是否存在环,例如下面这个链表就存在一个环:例如N1->N2->N3->N4->N5->N2就是一个有环的链表,环的开始结点是N5这里有一个比较简单的解法。设置两个指针p1,p2。每次循环p1向前走一步,p2向前走两步。直到p2碰到NULL指针或者两个指针相等结束循环。如果两个指针相等则说明存在环。struct link {   int d

2007-12-18 19:30:00 1933

转载 经典排序算法的C++ template封装

 这几天在网上看到有人总结了4种比较常见简单的排序的算法,并用C#实现了出来。看了之后不由的想起了大学时候学>的情景, 忍不住用C++实现了一遍,除了冒泡排序, 选择排序, 插入排序,希尔排序之外, 还包括了算法复杂度较好的快速排序与堆排序。 然后用C++强大的模板功能实现了一个基于policy的Sort函数, 很明显,这个Sort函数是以排序算法为policy的。 这里利用了不同的模板技术实作出

2007-12-10 21:22:00 1253

原创 程序员面试题精选(52):字符串匹配实现(回溯与不回溯算法)

回溯:const   char *  MyStrStr( const   char   * text,  const   char   * pattern) 2   { 3      int  i  =   0 , j  =   0 ; 4  5      while  (pattern[i]  &&  text[j]) 6       { 7          if  (pattern

2007-12-10 21:20:00 2884 1

原创 程序员面试题精选(51):按单词翻转句子

void ReverseString(char *s, int start, int end) 2{ 3    while (start  end) 4    { 5        if (s[start] != s[end]) 6        { 7            s[start] ^= s[end]; 8            s[end] ^= s[start]; 9       

2007-12-10 21:11:00 1475

原创 程序员面试题精选(50):字符串原地压缩

 题目描述:“eeeeeaaaff"  压缩为 "e5a3f2"代码实现:#include "stdio.h"#include "stdlib.h"void CompressStrInPlace(char* str){ char *dest=str;    if ((0 == str) || (/0 == *str))    {        return ;    }     c

2007-12-10 20:38:00 4319 1

原创 程序员面试题精选(49):最长递增子序列

 题目描述:设L=a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=aK1,ak2,…,akm>,其中k12m且aK1k2km。求最大的m值代码实现如下:#include "stdio.h"#include template int  GetLISLen(T  * arr,  int  n){ if  (n    return   0 ;  int 

2007-12-10 19:46:00 1867

原创 检测系统字节顺序(big-endian or little-endian)

多字节数据表示顺序问题。Big-Endian and Little-Endian说法来源于Jonathan Swift的作品(《格列佛游记》), 小人国的居民争吵鸡蛋应该从大端打开还是从小端打开,作者其实是在模仿当时在天主教徒与新教徒之间正在进行的关于各自教义的争吵。Intel的CPU采用小端表示法,如图代码如下:#include using namespace std;int 

2007-12-07 21:45:00 1605

原创 程序检测底层数据是two complement(补码)还是one complement(反码)表示

代码如下:#include using namespace std;int CheckComplement(){    union    {        unsigned int ui;        signed int si;    }uComplementChecker;     uComplementChecker.si = -1;    unsigned int ui =

2007-12-07 21:37:00 1808

原创 程序员面试题精选(48):两个堆栈模拟队列c++代码实现

代码如下:#include using namespace std;class ZStackQueue{public:    class ZStack    {    public:        ZStack(int size);        ~ZStack();          int Pop();        void Push(int e);        bool Em

2007-12-07 21:27:00 1828

原创 程序员面试题精选(47):两个或N个数的最大公约数和最小公倍数的求解

代码实现如下:#include using namespace std;int GetG(int m,int n){ if(m {  m^=n;  n^=m;  m^=n; } if(n==0)  return m; return GetG(n,m%n);}int GetNG(int* arr,int n){ //int imax=arr[0]; //for(int i=1;i  

2007-12-07 21:13:00 1778

原创 程序员面试题精选(46):矩阵式螺旋输出

题目描述:如上图式的输出矩阵。代码如下:#include void MatrixSpiralOutput(int n){    int **matrix = new int*[n]();    for (int idx = 0; idx     {        matrix[idx] = new int[n]();    }    int row = 0, col = 0; 

2007-12-07 19:44:00 1624

原创 打印内存小技巧

在学习C++的时候,由于编译器背着我们干了太多的事儿,所以看看那些高级数据结构在汇编级别是怎么样的,在内存中是如何的,对编写高效代码很有帮助。下边是一个小函数,帮你打印内存中的内容。如果使用微软的编译器,各个内存对象之间可能会有byte guard,即编译器会在分配的数据对象之间插入空白bytes,便于检测破坏邻接对象,所以和教科书上的连续分配内存有些差异,注意一下就行了以下是实现加测试代码:

2007-12-06 21:56:00 2547

原创 程序员面试题精选(45):求给定整数其二进制形式含1的个数

题目描述:求给定整数其二进制形式含1的个数,比如255含8个1,因其二进制表示为11111111;下面给出了两种求解代码实现。#include using namespace std;int  CountOne( int  n){ int  count  =   0 ; while  (n) {  ++ count;        n  &=  n  -   1 ;    }   retu

2007-12-06 21:44:00 1460

原创 程序员面试题精选(44):整数分割(即求一个数N由小于等于N的数相加所得的所有组合)

题目描述:比如给定一整数4,其有如下情况:4=4;                                                                                  4=3+1;                                                                                  4

2007-12-06 21:31:00 4009

原创 程序员面试题精选(43):数组中连续元素相加和最小的元素序列

题目描述:  有一个集合{14,56,53,4,-9,34,...n}里面共n个数     里面可以有负数也可以没有     用一个时间复杂度为o(n)的算法找出其中的一个连续串象(53,4,-9)   这样(串里的数字个数任意)     使得这个连续串为所有这样连续串里各个数字相加和最小的一个  代码实现如下(程序没有考虑有多组解的情况)#include using namespac

2007-12-05 21:40:00 2087

原创 程序员面试题精选(42):约瑟夫问题的数学方法

问题描述:N个人围成圆圈,从1开始报数,到第M个人令其出列,然后下一个人继续从1开始报数,到第M个人令其出列,如此下去,直到只剩一个人为止。显示最后一个人为剩者。无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在短时间内出结果的。为了讨论方便,先把问题稍微改变一下,并不影

2007-12-05 20:05:00 1771

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除