自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 摩根斯丹利(大摩)面试经历

大摩是今年招聘季我最后面的一个公司。遗憾的是,最后一个公司没给我坎坷的应聘路划上一个完美的句号。乘着记忆还鲜活,记录一下面试经过和感受。面试五个小时,半个小时笔试,三轮单面,一轮群面。本以为三轮单面会是两轮tech,一轮personal fit。结果都是tech面。笔试:与我之前查到的种种面经上说的不同,这次大摩面试单面完全考技术,没有personal fit。

2013-12-03 20:44:41 7900 4

原创 C++重载输入和输出操作符以及IO标准库中的刷新输入缓冲区残留字符问题

今天在做C++ Primer习题的14.11时,印象中应该挺简单的一题,结果却费了很长时间。类定义:typedef string Date;class CheckoutRecord{public: CheckoutRecord(){book_id=-1;} friend ostream& operator<<(ostream &os,const CheckoutRecord

2013-10-08 16:25:10 1825

原创 并查集的来龙去脉

1 并查集的思想:已知:1)很多个元素有着一个属性值,这些属性与其他元素的属性值或相同或不相同;     2)我们不知道每个元素的属性值,但知道一些两个元素之间属性值相等的关系——等价关系(有自反性,对称性,传递性);  目标:      根据等价关系将所有元素划分到对应的等价类中去,每个等价类中的元素两两之间都存在着等价关系。算法:1)将所以的元素初始化为独立的集合;

2013-09-15 21:33:48 1406

转载 《设计模式》笔记:代理模式vs适配器模式vs外观模式

一、定义代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,使得原本接口不兼容而不能一起工作的那些类可以一起工作。外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 二、理解代理模式和适配器模式应该说很相像

2013-06-18 22:29:07 1391

原创 《设计模式》笔记: 访问者模式

1.简介目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。2.问题的起源:我们有如上图的类结构。现在的需求是:Element和ConcreteElementA,ConcreteElementB的类结构是很稳定的。但是要经常更改类操作Operate*()。比如说增加一个Operate3,删除Operate1

2013-06-18 21:34:22 1259

原创 《设计模式》笔记:状态模式

_________________________基本概念,copy from 百度百科______________________状态模式(State Pattern)是设计模式的一种,属于行为模式。定义(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状

2013-06-06 18:01:15 1320

转载 STL容器之迭代器失效

Vector内部数据结构:连续存储,例如数组。随机访问每个元素,所需要的时间为常量。在末尾增加或删除元素所需时间与元素数目无关,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。可动态增加或减少元素,内存管理自动完成,但程序员可以使用reserve()成员函数来管理内存。迭代器失效插入:vector的迭代器在内存重新分配时将失效(它所指向的元素在该操作的前后不再相同)。当把超过c

2013-05-28 19:47:15 1056

原创 如何完美地取样?

对于n个样本,如何均匀随机的取出m个样本?即n个样本中每个样本都能有m/n的概率被取中。 1.简单插入取样   这是最基本,最直观的方法。在一个初始为空的集合中插入1~n的随机整数,知道个数为m个为止。但这个方法有个弱点,就是要插入一个数时,判断集合中是否存在该数,如果其存在,则要继续取样直到取到一个不在原集合中的数,重复取样需要很大的开销,而且越到后来开销越大。 2.Floy...

2013-04-16 15:52:07 1228

原创 经典同步问题linux下的C实现:生产者-消费者问题,读者-写者问题,哲学家问题

1.生产者-消费者问题/*=============================================================== * File Name : producerConsumerProblem.c * Creation Date : 2013-04-11 * Last Modified : 2013年04月11日 星期四 20时53分13

2013-04-11 22:36:41 4326 7

原创 《设计模式》笔记:Singleton设计难点

Singleton看上去是一个十分简单的设计模式。但事实上,要深究的话,你会发现Singleton也不好设计。  最简单的Singleton模式莫过于用静态类成员函数和静态类成员变量来实现了。但这样做有两个缺点:    1)后期难以改变设计;    2)不管需不需要,由于是静态成员,必须要初始化。  一般书籍上给出的设计方法是(lazy initialization)的做法 :

2013-03-26 20:34:31 1003

原创 八皇后问题递归和非递归算法

大名鼎鼎的八皇后问题。相信大家都耳熟能详。       八皇后的是一个典型的用回溯法求解的问题。在回溯法中的一个关键是要动态保存求解空间对应的程序所处的状态,特别是能够进行状态“回滚”。当一发现个部分解再往下去不能成为合法的解时,要回溯到这个部分解之前所处的状态。程序状态的“前进”和“回滚”用Ban和UnBan函数来实现。//ban the column,row,diagonal el

2013-03-16 13:55:59 2647

原创 用python写的scheme解释器(little schemer读书笔记)

1.内容概览前四章:介绍了基本的数据结构,atom,list,s-expression;基本的函数原语,primitive。第五章:讲的是如何在nested list中对所有的atom进行操作。即所谓的高阶函数。第六章:四则运算及其他一些基本运算。四则运算的本质都可以用递归加上add1,sub1来实现。第七章:集合及其相关操作。-----------------------

2013-01-25 10:55:21 3345

原创 java classpath path及其常见错误

在[我的电脑]上右击,选择[属性]。再选择[高级]-[环境变量],1.在[系统变量]中添加一个新的变量:JAVA_HOME=2.然后再编辑path变量,在原来的path系统变量中添加。然后重启电脑,让修改后的变量生效。不用重启电脑的办法:以修改环境变量“PATH”为例,修改完成后,运行cmd命令进入DOS命令提示符,输入:"set PATH=C:",关闭DOS窗口。再次

2012-10-24 13:51:22 2311

原创 红黑树C++完整源码

// RBTree.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;templateclass RB_Tree{ class RB_Node; enum Color {BLACK,RED};public: RB_Tree(); bool Insert(

2012-10-22 20:55:32 9559

空空如也

空空如也

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

TA关注的人

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