自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

转载 C++实现单例模式

单例模式:只能生成一个实例的类即是实现了Singleton模式的类型。#include <iostream>using namespace std;class singleton{public : static singleton* getInstance();private: singleton(); sta...

2015-04-27 23:57:00 107

转载 数组中有一个数字出现的次数超过数组的一半,请找出这个数字

方法一:先对数组进行排序,(n+1)/2位置的数字即为要找的数,最小时间复杂度在O(nlgn)方法二:如果一个数字出现次数超过数组长度的一半,表明这个数字出现的次数要超过其他数字出现的次数总和还多,所以考虑每次删除两个不同的数,那么在剩下的数中,待查找数字出现次数仍然超过总数的一半,不断重复这个过程,直到最终剩下为同一个数字,即为要找的数字转载于:https://www.cnbl...

2015-04-24 15:55:00 304

转载 c++ enum用法【转】

1、为什么要用enum 写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等。 更常见的,打开一个文件可能有三种状态:input, output和append. 典型做法是,对应定义3个常数,即: const int input = 1;...

2015-04-23 18:25:00 118

转载 c++中的成员选择符

c++中支持仅能指向类成员的指针,对这种类型的指针进行数据的提取操作时,可使用如下两种类型的操作符:成员对象选择操作符.* 和 成员指针选择操作符->*例一: 1 #include <iostream> 2 using namespace std; 3 struct C 4 { 5 int x; 6 float y; ...

2015-04-22 17:23:00 430

转载 c++复习(未完待续)

1、使函数不能在定义该函数的文件之外访问的方法:(1)声明函数为static(2)将函数放到无名名字空间中namespace{ void g() { ......... } }  转载于:https://www.cnblogs.com/xlzhh/p/4448037.html...

2015-04-22 17:06:00 87

转载 二维数组中的查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(vector<vector<int> > array,int target) { int rows = ...

2015-04-16 19:48:00 77

转载 矩形覆盖

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?class Solution {public: int rectCover(int number) { if(number == 0) return 1; if(number == 1) return 1;...

2015-04-16 19:47:00 57

转载 变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。class Solution {public: int jumpFloorII(int number) { if(number == 0) return 0; if(number == 1) return 1; ...

2015-04-16 19:46:00 77

转载 跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。class Solution {public: int jumpFloor(int number) { if(number == 0) return 0; if(number == 1) return 1; ...

2015-04-16 19:45:00 66

转载 单链表排序--归并排序

#include <iostream>#include <cstdlib>using namespace std;struct ListNode //默认为public{ int data; ListNode* next; ListNode(int x, ListNode* nextNode):data(x), n...

2015-04-16 19:03:00 70

转载 F#实现的单链表(函数式的思想)

// 在 http://fsharp.net 上了解有关 F# 的更多信息// 请参阅“F# 教程”项目以获取更多帮助。type list = | Nil | Cons of int * listlet x = Cons(1, Cons(2, Cons(3, Cons(4, Nil))))//let rec printlist l=...

2015-04-16 18:43:00 125

转载 归并排序---数组

/*merge sort*/#include <iostream>using namespace std;const int max_num = 1000000000;void mergeData(int *s, int p, int q, int r){ int n1 = q - p + 1; int n2 = r - q...

2015-04-16 00:04:00 107

转载 判断单链表是否为循环链表-----在有序链表中寻找中位数------使用快慢指针

快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。判断单链表是否为循环链表让快慢指针从链表头开始遍历,快指针向前移动两个位置,慢指针向前移动一个位置;如果快指针到达NULL,说明链表以NULL为结尾,不是循环链表。如果 快指针追上慢指针,则表示出现了循环。fast=slow=head;fast=fas...

2015-04-15 20:55:00 154

转载 有n个数(两两不同),对于这n个数的每个连续子序列,把其中最大的一个数标记一次,问最后每个数被标记次数...

今天在qq群了看到了这个题目,觉得用单调栈的解法挺好,可以在o(n)内搞定,特意记录下来首先明确单调栈的含义:栈是FILO的,栈的所有操作都是在栈顶进行。单调性指的是当前栈中存储的元素是严格的递增或者递减。递增:栈中元素从栈顶到栈底是严格递增的; 递减:栈中元素从栈顶到栈底是严格递减的。举例:先后入栈的元素假设为9,3,10,1,15。。考虑递增栈:初始时,栈...

2015-04-10 21:38:00 218

转载 用C语言写一个程序,得出当前系统的整形数字长(16位,32位,64位)等,不能使用sizeof()...

#include <iostream>#include <cmath>using namespace std;int main(){ int num = -1; unsigned int s = num; //当前位级表示即为最大无符号数 cout << (int)log2(s)+1 << ...

2015-04-10 19:38:00 146

转载 统计单词频率--map

问题描述:输入一个单词列表,每行一个单词,统计单词出现的频率思路:主要是使用c++中的map容器。map实质上是一个二叉查找树,可以做到插入、删除、查询,平均查询时间在O(logn)。n为map中元素的个数,将字符串数据插入到map后,再用迭代器去访问map中的元素时,其实是按照map中插入的字符串的字典序进行访问的。map可以建立任意两种数据类型的关系,形式为map&l...

2015-01-27 16:59:00 198

转载 1104--DNA排序

问题描述:逆序数可以用来描述一个序列混乱程度的量。例如,“DAABEC”的逆序数为5,其中D大于它右边的4个数·,E大于它右边的1的个数,4+1=5,又如,“ZWQM”的逆序数为3+2+1+0=6.现在有许多长度一样的字符串,每个字符串里面只会出现四种字母(A,T,C,G)。要求编写程序,将这些字符串按照它们的逆序数进行排序输入:第一行包括两个正整数,第一个表示字符串长度,第...

2015-01-26 22:40:00 197

转载 poj1050-To the Max

DescriptionGiven a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located within the whole array. The sum of a recta...

2015-01-26 22:18:00 86

转载 编译:一个 C 程序的艺术之旅(转载)

C 程序为什么要编译才能执行?一个 C 程序在变成可执行文件的过程中,为什么要经过预处理、编译、汇编、链接这四道工序?让我们从这段简单的 C 程序开始。为什么要编译这并不是一个简单的问题。我们知道 Python 代码不需要 “编译”,输入一行代码就可以运行出结果了,对用户很友好有木有!这种交互式的运行环境被称为 REPL(Read-Evaluate-Print-Loop),也...

2015-01-26 22:00:00 153

转载 大话同步/异步、阻塞/非阻塞(转载)

转载过来主要是因为自己看的。原文:http://ring0.me/2014/11/sync-async-blocked/好多人搞不清这两组概念之间的区别。我们拿小明下载文件打个比方。同步阻塞:小明一直盯着下载进度条,到 100% 的时候就完成。同步非阻塞:小明提交下载任务后就去干别的,每过一段时间就去瞄一眼进度条,看到 100% 就完成。异步阻塞:小明换了个有下载...

2015-01-15 21:44:00 158

转载 函数指针和指针函数(转载)

一 通常的函数调用一个通常的函数调用的例子: //自行包含头文件 void MyFun(int x); //此处的申明也可写成:void MyFun( int ); int main(int argc, char* argv[]) { MyFun(10); //这里是调用MyFun(10);函数 return 0; } void MyFun(in...

2015-01-14 17:42:00 98

转载 红黑树和AVL树的实现与比较-----算法导论

一、问题描述实现3种树中的两种:红黑树,AVL树,Treap树二、算法原理(1)红黑树红黑树是一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是red或black。红黑树满足以下五个性质:1) 每个结点或是红色或是黑色2) 根结点是黑色3) 每个叶结点是黑的4)如果一个结点是红的,则它的两个儿子均是黑色5) 每个结点到其子孙结点的所有路...

2015-01-14 00:45:00 149

转载 一个任务调度问题-----算法导论

一、问题描述  在单处理器上具有期限和惩罚的单位时间任务调度问题。二、算法原理  任务调度问题就是给定一个有穷单位时间任务的集合S,集合S中的每个任务都有一个截止期限di和超时惩罚wi,需要找出集合S的一个调度,使得因任务误期所导致的总惩罚最小,这个调度也称为S的一个最优调度。  实现任务的最优调度主要就是利用贪心算法中拟阵的思想。如果S是一个带期限的单位时间任务的集合,...

2015-01-14 00:31:00 863

转载 0-1背包的动态规划算法,部分背包的贪心算法和DP算法------算法导论

一、问题描述0-1背包问题,部分背包问题。分别实现0-1背包的DP算法,部分背包的贪心算法和DP算法。二、算法原理(1)0-1背包的DP算法  0-1背包问题:有n件物品和一个容量为W的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。其中每种物品只有一件,可以选择放或者不放。  最优子结构性...

2015-01-14 00:22:00 326

转载 修改程序堆栈的可执行属性

最近刚刚做完CSAPP的几个实验,在bufbomb实验中level2和level3,需要将攻击代码嵌入到缓冲区中并修改程序返回地址为缓冲区起始地址,但是遇到了栈不可执行的问题。因为ubuntu默认栈不可执行。这里总结了两种修改程序堆栈可执行属性的方法。方法一:(有.c源文件)gcc -g -z execstack -fno-stack-protector stack.c -o...

2015-01-14 00:02:00 893

转载 【转】关于C语言生成不重复的随机数

一 说起随机函数,恐怕又有人说这是老生长谈了……一般很多人都形成了自己的固定格式,因为随机数用处比较大,用的时候比较多,拿过来就用了。但是新手不这么 干,他们总是抱有疑惑,我就是一个新手,而且较菜……为了让跟我一样的菜鸟看明白,我会尽量的说得让高手们不屑一顾(:由于可能内容太多可能会分篇,大家 见谅^计算机的好处是精确,所以它不擅长模拟信号,但它的缺点也是 如此。于是在一些模拟问...

2015-01-13 23:50:00 651

转载 Java中Set的使用(转载)

在Java中使用Set,可以方便地将需要的类型以集合类型保存在一个变量中.主要应用在显示列表.Set是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。以下是在JAVA中使用Set的范例,希望对大家有帮助.i...

2015-01-13 19:44:00 134

转载 Apriori算法

Apriori算法是一种发现频繁项集的基本算法,算法的思想主要就是使用一种称为逐层搜索的迭代方法,K项集用于探索(K+1)项集。算法的伪代码如下:(具体实现正在进行中……)输入:D:事务数据库min_sup:最小支持度阈值输出:L,D中的频繁项集方法:L1=find_frequent_1-itemsets(D);...

2015-01-13 19:27:00 128

空空如也

空空如也

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

TA关注的人

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