剑指offer
zjq_smile
这个作者很懒,什么都没留下…
展开
-
用两个栈来实现一个队列,完成队列的Push和Pop操作。
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop() { int data; if(stack2.empty()原创 2017-07-20 16:17:14 · 386 阅读 · 0 评论 -
常用排序算法总结
目录冒泡排序 鸡尾酒排序 选择排序 插入排序 二分插入排序 希尔排序 归并排序 堆排序 快速排序 我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 另一种是非比较排序,时转载 2017-07-20 17:10:58 · 361 阅读 · 0 评论 -
设计模式——单例模式
单例模式:一个类只生成一个实例对象。要从生成唯一一个实例,构造函数就要设为私有,一般有两种模式:一位饿汉式,只有在空的时候分配内存class Singleton{private: Singleton() {} static Singleton* instance;public: static Singlenton* getInstance() {原创 2017-07-19 10:59:26 · 209 阅读 · 0 评论 -
从1到n整数中1出现的次数
一开始最容易想到的就是用for循环,每一位每一位的找是否等于1 int NumberOf1Between1AndN_Solution(int n) { int count=0; if(n<1) return 0; for(int i=1;i<=n;++i) { int temp=i;原创 2017-09-07 17:31:18 · 375 阅读 · 0 评论