Interview
不负初心
感兴趣领域计算机视觉,图形图像,人工智能
展开
-
Merge Two Sorted Lists(C++)
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.原创 2015-10-18 10:45:41 · 424 阅读 · 0 评论 -
常见智力算法类面试题分析
1. 二进制中1 的个数int NumberOf1(int n){ int count = 0; while (n) { ++ count; n = (n-1) & n; } return count;}2. 出现次数超过一半的数字 利用标记,相邻相同就是加1,不同减1 一个数字,一个次数3. 找原创 2015-11-15 22:42:07 · 457 阅读 · 0 评论 -
Insert & delte elements in doublely linked list
Define a doublely linked listtypedef struct Node{ ElemType data; struct Node* prior; struct Node* next;}Node, *DLinkList;Initialize it, insert at the endDLinkList DLinkListCrate(){原创 2015-10-18 11:49:33 · 462 阅读 · 0 评论 -
【Design Patterns】命令模式
//抽象出 orderpublic interface Order{ void execute();}//定义类,封装执行方法public class Stock{private String name= "ABC";privare int quantity = 10;public void buy(){ System.out.println("Stock[Name:" +原创 2015-11-01 11:19:06 · 313 阅读 · 0 评论 -
观察者模式
观察者模式又叫做发布—订阅(Publish/Subscribe)模式。 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在等待状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。结构图如下: 1. subject 类,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察者对象。 2. observer类原创 2015-10-28 21:30:20 · 292 阅读 · 0 评论 -
工厂模式&&抽象工厂模式
2.抽象工厂模式 和 工厂模式对比简单来说,抽象工厂模式正如名字所示,即对工厂进行抽象,比起工厂模式多了一层抽象而已。在《Design Pattern Explains》书中,作者说的很到位,设计模式即是“Find what varies and encapsulate it”, 翻译过来即 封装起那些变换的事物。如下所示(图引用于here):抽象工厂模式中把 产生A,B的工厂,抽象成一个原创 2015-10-31 22:10:51 · 360 阅读 · 0 评论 -
单例模式
1. 普通情况下的单例通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。static public InfoManager Instance{ get { if(s_instance == n原创 2015-10-28 21:17:24 · 237 阅读 · 0 评论 -
Pre-order,in-order, post-order of Tree Traversal
// Node classclass Node { string key; Node* left; Node* right;public: Node() { key=-1; left=NULL; right=NULL; }; void setKey(string aKey) { key = aKey; }; void setLeft(Node*原创 2015-10-25 12:32:11 · 737 阅读 · 0 评论 -
Reverse Linked List(C++)
C++ Solution 1 - IterativeListNode reverseList(ListNode head){ if(head == NULL) return head; ListNode *f, *m; f = head->next; head->next = NULL; while(f原创 2015-10-18 16:27:34 · 469 阅读 · 0 评论 -
Edit Distance In C++
Refference: programcreek.com/2013/12/edit-distance-in-java/ From Wiki: In computer science, edit distance is a way of quantifying how dissimilar two strings (e.g., words) are to one转载 2015-10-18 12:48:01 · 691 阅读 · 0 评论 -
Bubble Sort
Bubble sort is a normal sorting method. Through repeatedly comparing the adjacent members and adjusting positions, then the array will be in order.templateBubblesort(T array[], int count){原创 2015-10-18 12:19:43 · 331 阅读 · 0 评论 -
C/C++常见概念辨析
1. 指针 int (*p)[5] 指针,指向含5个元素数组 int *p[5] 数组,长度为5,数组中每一个元素指向一个整型变量。 int *f( int i, int j)和 int (*p)( int i ,int j) 前者是返回指针的函数,它是一个函数的声明,后者是指向函数的指针,它定义了一个指针。 2. 指针/引用 1). 指针是一个实体,而引用仅是个别名; 2)原创 2015-10-18 23:14:46 · 954 阅读 · 0 评论