摘要:
1 /* 2 *题目:输入一个已经按升序排序过的数组和一个数字, 3 *在数组中查找两个数,使得它们的和正好是输入的那个数字。 4 *要求时间复杂度是 O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 5 *例如输入数组 1、2、4、7、11、15 和数字 15。由于 4+11=15,因此输出 4 和 11。 6 */ 7 #include 8 #include 9 #include 10 using namespace std;11 12 pair > find_pair(int *array, int len, int x)13 {14 assert(array... 阅读全文
摘要:
1 /* 2 设计包含 min 函数的栈(栈) 3 定义栈的数据结构,要求添加一个 min 函数,能够得到栈的最小元素。 4 要求函数 min、push 以及 pop 的时间复杂度都是 O(1)。 5 */ 6 #include 7 #include 8 #include 9 10 template class Stack11 {12 public:13 void push(const T& t);14 void pop();15 T top() const;16 T min() const;17 18 private:19 std::stack... 阅读全文