自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

原创 STL中最有用的经验总结(三)

好了,现在给你一个任务。把一系列字符串依次插入到一个set中,然后按照字典序有序的输出。好吧,为了突出重点,我把这些字符串规定为“Anteater”、“Wombat”、“Lemur”、“Penguin”。你觉得很简单,所以你这样写了。set ssp; ssp.insert(new string("Anteater")); ssp.insert(new string("Wombat"))

2013-11-15 16:16:35 1602

原创 STL中的最有用的经验总结(二)

一、STL容器不能保证线程安全解释:在执行改写容器中内容的语句的时候,STL不能保证结果的唯一性。当然,多线程的并发读操作是线程安全的。常见的写操作包括:插入(push),弹出(pop),删除(erase、clear),赋值(*p=3;)等,因此在多个线程并发改写容器内容的时候,要加锁保证线程的同步。二、无论何时,你发现你自己准备动态分配一个数组(也就是,企图写“new T[...]”

2013-11-12 16:46:00 1069 1

转载 RMQ算法

1. 概述RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍。2.RMQ算法对于该问题,最容易想到的解决方案是遍历,复杂度是O(n)。但当数据量非常大

2013-11-12 14:30:57 753

原创 STL中的最有用的经验总结(一)

——整理自《Effective STL》一、确保容器中的拷贝操作是轻量级的。理由:对于序列容器vector、deque和string等的插入或删除(中间元素),会造成元素的移动(拷贝);排序算法、next_permutation、previous_permutation、remove、unique、reverse等都会造成元素的拷贝。因此,如果容器中元素太过复杂,如自定义的类型在拷贝的

2013-11-11 16:31:59 1222

原创 7个信号表示你面试成功(转自人人校招)

7个信号表示你工作面试成功      工作面试会让人感到有压力,尤其是因为你很难辨别自己是否有机会进入下一轮的竞争,还是彻底被从候选人名单上划掉了。在第 一次面试中,人力资源部的人或招聘经理基本不可能会立刻就向你提供一个工作机会。不过,还是存在一些你可能会在不久之后接到进入下一轮面试的电话通知-- 或甚至是工作录用通知--的迹象。以下是你所需要寻找的七个迹象:  面

2013-11-09 14:31:45 2642

原创 每天一道面试题(六)

(乐视.2014.北航)给定数组A,大小为n,数组元素为1到n的数字,不过有的数字出现多次,有的数字没有出现。请给出算法和程序,统计哪些数字没有出现,哪些数字出现多少次。能够在O(n)的时间复杂度,O(1)的空间复杂度要求下完成么?(思路和代码)思路:针对每一个数字a[i],在其对应下标的位置上的数字加N,遍历一次后,分别在每个下标下加了多少次N,则出现了多少次。代码:void G

2013-11-06 14:02:48 1619

原创 58同城 2013研发一面面试(含参考答案)

1.手写KMP算法我猜测考这道题并不是真的要被面者把KMP算法一字不漏的写出来(当然能写出来最好),面试官一上来就出一道很难的题可能有两点用意:1)看看被面者心理承受能力,是说道KMP就跪地求饶呢还是拼死拼活写点算点?心态很重要,显然后者更好2)写出代码了,看看被面者的代码风格怎么样?有没有把代码写得很鲁棒?有没有考虑到边界?有没有用简洁易懂的变量名?2.0.线程和进程的区别1

2013-11-05 18:16:19 6806 1

原创 每天一到面试题(五)

(创新工场·2013)一个字符数组,里面的字符可能是a-z、A-Z、0-9.现在要求对数组进行排序,要求所有数字字符放在最前面,所有大写字符放在中间,所有小写放在最后,而且各部分内部分别有序。分析:本质是一道排序问题,我们要做的就是把排序的规则重新定义一下:         1)a-z > A-Z > 0-9:a-z中的所有字符大于A-Z中的所有字符大于0-9中的所有字符

2013-11-04 17:47:51 1456

原创 每天一道面试题(四)

(唯品会·2014南京)给定字符串,可以通过插入字符,使其变成回文,求最少插入字符的数量。例如:ab最少插入1个字符,变为bab;aa最少插入0个字符;abcd最少插入3个字符,dcbabcd。分析:首尾指针法——设两个指针pBegin和pEnd分别指向字符串的首尾,比较首尾指针指向的值,这时会有种情况:   1)*pBegin==*pEnd 则二者均向中间移动,即pBegin++;p

2013-11-04 10:37:03 1521

原创 奇虎360 2014后台研发二面面经(含参考答案)

面试题目:1.C和C++● 堆和栈的区别堆和栈均是计算机硬件层面的上概念,操作系统给每个进程分配4G(前提32位)的虚拟内存空间。内存空间分别由堆、栈、数据段和代码段组成。总体来说,堆和栈的区别主要有一下几点:1)存的值的类容堆中的值一般是由new、malloc、realloc分配的,存值类容不固定。可以往里写任何类型的值。栈里存的是函数返回地址,函数参数和局部变量等。

2013-11-03 20:36:56 4802 2

原创 进程同步与互斥基础

一、基本概念同步:为了完成某个任务而建立的两个或多个进程,这些进程为了需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的制约关系就是源于它们之间的相互合作。互斥:当一个进程进入临界区使用临界资源是,另一个进程必须等待,当占用临界区资源的进程退出临界区以后才允许进入临界区,访问资源。注意,这里的一个并非卡死就一次只能一个进程访问临界资源。当信号量个数大于1的时候,一

2013-11-02 15:07:53 5020

原创 注册表编程浅解析

什么是注册表?注册表本质上就是windows里的一个数据库。支撑其实现的结构是树形结构。注册表里面存储的就是一些乱七八糟的什么配置信息啊,用户信息啊等,具体的自己google去吧!既然注册表是用树形结构保存的,那么我就按照树的结构来剖析吧。注册表结构键:键是注册表特有名称之一,你可以把键理解成文件夹,理解成一个表的表项(注册表本身也可以理解成一个表)。但是在这里,键其实就是这棵树的非叶

2013-11-01 16:27:27 1495

原创 GetLastError()返回值列表

GetLastError()返回值列表:〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。

2013-11-01 15:32:37 99218 6

原创 2014木瓜移动校园招聘笔试题

2014木瓜移动校园招聘笔试题1.有A到J十个人手拉手构成一个环,其中A和B不相邻,问一共有多少种排列方式?  解:基本的环排列算法。公式:N!/N(N 即为参与排列的人)  就本题而言,首先十个人环排列A/10 ,然后将AB当成一个人进行环排列A*A/9  排除AB相邻的即为答案:A/10 - A*A/92.代码的优化,给出下一段代码,请做出最好的优化 int

2013-11-01 11:38:56 4021

原创 每天一道面试题(三)

(木瓜移动.2013)给定一个字符串,求串中字典序最大的子序列解析:本题是一道ACM入门题目。思路如下           字典序最大的子序列是这样构造的:设字符串为a0a1.....an-1。首先在a0a1.....an-1找到值最大的字符ai,然后在剩余的ai+1....an-1中值最大的字符aj,然后在剩余的aj+1....an-1中      值最大的字符ak.....直到

2013-11-01 11:20:34 2452

空空如也

空空如也

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

TA关注的人

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