自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱你的推理能手

知我者谓我心忧,不知我者谓我何求。

  • 博客(43)
  • 资源 (3)
  • 收藏
  • 关注

原创 leetcode优美的排列

"""假设有从 1 到 N 的 N 个整数,如果从这 N 个数字中成功构造出一个数组,使得数组的第 i 位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这个数组为一个优美的排列。条件: 第 i 位的数字能被 i 整除 i 能被第 i 位上的数字整除现在给定一个整数 N,请问可以构造多少个优美的排列?来源:力扣(LeetCode)"""#...

2020-05-04 18:34:17 244

原创 POJ2586

Y2K Accounting BugTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 19292 Accepted: 9752 DescriptionAccounting for Computer Machinists (ACM) has sufferred from the Y2K...

2020-03-31 12:37:45 222

原创 POJ-2965

The Pilots Brothers' refrigeratorTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 33842 Accepted: 13107 Special Judge DescriptionThe game “The Pilots Brothers...

2020-03-27 00:22:16 305

原创 leetcode15三数之和

给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]思路:双指针,对每个...

2019-04-20 23:13:28 174

原创 二叉树mirros遍历和数组划分为k等份

1、二叉树mirros遍历,原理类似于线索树,利用空余指针来保存其后续节点。void recoverTree(struct TreeNode* root) {/**中序mirros'遍历**/ if (root == NULL) { return; } struct TreeNode *p1 = root; struct TreeNode *p2 = NULL; ...

2019-04-20 17:18:56 719

原创 华科部分复试机试题目

1、输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。输入描述:输入第一行包括一个整数n(1&lt;=n&lt;=100)。接下来的一行包括n个整数。输出描述:可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。输入中可能有重复元素,但是输出的二叉...

2019-01-09 22:51:48 522

原创 二叉排序树和霍夫曼编码树

1、二叉排序树这里不再赘述概念,直接给出二叉排序树的查找、插入、构造、删除等操作的实现。读者可以对照概念自行熟悉。需要注意的是删除操作较为复杂,包括三种类型,请仔细辨别。#ifndef BSTREE_H_INCLUDED#define BSTREE_H_INCLUDED/** \brief 二叉排序树的基本操作 * * \param * \param * \return *...

2018-11-17 18:50:57 259

原创 栈和队列的应用

栈 队列作为特殊的线性表,应用相当广泛。一般有递归、括号匹配、中缀表达式转后缀表达式、后缀表达式求值、以及树的层次遍历等几个应用方面。以下给出了几个例子供读者自行研读。1、递归以下给出斐波那切数列计算的例子供参考。/** \brief 栈在递归中的调用 * * \param * \param * \return * */#include &lt;iostream&gt;...

2018-11-17 18:19:43 428

原创 招商银行信用卡中心2018秋招部分编程题汇总

1、给出一个非空的字符串,判断这个字符串是否是由它的一个子串进行多次首尾拼接构成的。例如,"abcabcabc"满足条件,因为它是由"abc"首尾拼接而成的,而"abcab"则不满足条件。输入描述:非空字符串输出描述:如果字符串满足上述条件,则输出最长的满足条件的的子串;如果不满足条件,则输出false。输入例子1:abcabc输出例子1:abc#in...

2018-09-23 00:26:34 852

原创 内部排序算法的总结一(包括冒泡、希尔排序、递归和非递归的快速排序、简单选择排序)

一、冒泡法://冒泡排序void Bubble_Sort(DataType a[],int n){ int i,j; DataType temp; for(i=0;i&lt;n-1;i++) { for(j=i+1;j&lt;n;j++) { if(a[i].key&lt;a[j].key) ...

2018-08-01 22:11:07 877

原创 ege库画分形图

ege库是一个开源的二维图形库,提供C语言接口,我们在学习C语言的过程中,为了提高兴趣,可以配置这个库画一些有意思的图形。先来说一下配置,在VC6.0++中比较简单,只需要将头文件路径和静态链接库的路径包含进去就ok了。在codeblocks下配置,也是需要将头文件和静态库路径包含进去,接着需要在linker setting选项卡下添加libgraphics.a,libgdi32.a libimm...

2018-07-24 21:33:55 1934

原创 利用流方式在VC6.0++下加载jpg格式图片

用过VC6.0++的朋友可能了解,在mfc下的控件中只能加载bmp格式的位图,并不能加载其他格式图片,这样用起来不太方便,貌似没有更好的方法解决,但是可以在堆空间上利用流对象来实现这一功能。具体函数如下,函数参数分别是控件ID和需要加载的图片路径。void CMyDlg::ShowJpgGif(int ID, CString m_filename) { CDC* pDC=GetDlg...

2018-07-24 21:05:42 1177 3

原创 动态顺序栈和线程安全的堆栈类

1、动态顺序栈固定大小的栈的容量可能随着参数数目的增加或者递归层数的增加而溢出,故此可用动态栈代替,实现思路较为简单,每次元素入栈前判断一下栈容量是否足够,不够的话增加容量,通过栈底指针移动。以下是参考代码:#ifndef DY_STACK_H_INCLUDED#define DY_STACK_H_INCLUDED#include &lt;malloc.h&gt;#include ...

2018-07-23 22:28:00 449

原创 校招全国统一模拟笔试技术类编程题综合

1、给出一个含有n个数字的序列a1,a2,a3,...an,可以进行以下操作:一次操作定义为对这个序列的每个数字进行以下两种改变之一:1.ai ÷ 22.ai × 3每一次的操作中,必须保证至少有一个数字是第1种改变;并且经过每次操作后,每一个数字都必须是整数。牛牛得知,每进行一次操作,他就可以得到一颗西瓜糖,但是由于孱弱的数学功底,他不知道何时该对某一个数字进行第一种还是...

2018-07-22 16:45:05 1090

原创 最小生成树之Prim算法

如果连通图是一个带权图,则其生成树中的边也带权,生成树中所有边的权值之和称为生成树的代价。1、最小生成树:带权连通图中代价最小的的生成树。2、Prim算法:算法思想:⑴  若从顶点v0出发构造,U={v0},TE={};⑵ 先找权值最小的边(u,v),其中u∈U且v∈V-U,并且子图不构成环,则U= U∪{v},TE=TE∪{(u,v)} ;⑶ 重复⑵ ,直到U=V为止。则

2017-12-03 16:37:23 456

原创 网易2017春招编程题集合

1、一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间。 输入描述:输入包括两行: 第一行为整数n(1 ≤ n ≤ 50) 第二行为n个整数length[i](1

2017-11-30 17:21:24 242

原创 网易2017秋招编程题集合

You are always too soft.1、如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然

2017-11-26 14:05:41 241

原创 拼多多内推编程题

1\#include #include #include using namespace std;int main(){ // int x=807120253114; int n=0; int_least64_t top1,top2,top3,least1,least2; int_least64_t a[10000]={0}; cin>>n;

2017-11-14 21:47:29 746

原创 网易2018内推编程集合

1、小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计算有多少种方式将他所有砖块排成漂亮的一行。(如果两种方式所对应的砖块颜色序列是相同的,那么认为这两种方式是一样的。)例如: s = "ABA

2017-11-13 21:01:28 271

原创 网易2018校招编程题集合

1、小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小

2017-11-12 18:36:12 373

原创 算法练习之前n个数的全排列(1=<n<=9)

题目:输入一个数n,打印出它前n个数序列的全排列。思路:1、用STL库函数next_permutation,代码如下//STL库函数法vector> STL_function(vector &num){ vector> result; do { result.push_back(num); }while(next_permutatio

2017-11-11 23:33:59 1417

原创 图的连通性问题(一)

一、无向图的连通分量和生成树对于无向图,在进行遍历时:若是连通图,仅需从图中任一顶点出发,就能访问图中所有顶点;若是非连通图,需从图中多个顶点出发,每次从一个新顶点出发访问的顶点集序列恰好是各个连通分量的顶点集。⑴ 若G=(V,E)是无向连通图, 顶点集和边集分别是V(G) ,E(G) 。若从G中任意点出发遍历时, E(G)被分成两个互不相交的集合:T(G) :遍历过程中所经过的边

2017-11-11 15:17:31 759

原创 基于TCP协议的简单通信实现

这里分享一个Winsock版本的简单入门通信程序,包含客户端和服务端服务端:#include #include #pragma comment (lib,"ws2_32");int main(){ WSADATA wsaData; WSAStartup(MAKEWORD(2,2),&wsaData); SOCKET s=socket(PF_INET,SOCK_STREAM,

2017-11-10 10:28:43 500

原创 图的遍历

图的遍历图的遍历有深度优先搜索算法和广度优先搜索算法1、深度优先搜索:(是一个递归算法)⑴ :从图中某个顶点vi出发,访问vi;然后找到vi的一个邻接顶点vi1 ;⑵:从vi1出发,深度优先搜索访问和vi1相邻接且未被访问的所有顶点;⑶:转⑴ ,直到和vi相邻接的所有顶点都被访问为止 ⑷ :继续选取图中未被访问顶点vj作为起始顶点,转(1),直到图中所有顶点都被访问为止

2017-11-09 17:00:25 533

原创 图之基于邻接链表的实现

上一篇介绍了图的基本概念和基于邻接矩阵的表示方法,这一篇介绍一下基于邻接链表的实现方法我们定义头结点作为图的顶点的存储结构,头结点包含数据域、顶点的度、邻接顶点单链表的结点指针;用单链表作为顶点的邻接顶点的存储形式,包含邻接顶点在头结点表中的下标位置权值、以及指向下一表结点的指针;看这个图理解结构#ifndef LINKGRAPH_H_INCLUDED#define LINK

2017-11-08 11:30:36 672

原创 图的概念和基于邻接矩阵的实现

这一篇简单介绍下一种更为复杂的数据结构------图,图是一种比线性表和树更为复杂的数据结构。图结构是研究数据与数据之间多对多的关系。一、图的基本概念1、一个图定义为一个偶对(V,E),记为G=(V,E);其中V是顶点的非空有限集合,记为V(G),E是无序集V&V的一个子集,记为E(G),其元素是图的弧。2、弧:表示两个顶点之间存在一个关系,用顶点偶对表示,通常根据顶点偶对将图分为有向

2017-11-08 00:41:13 442

原创 二叉树的链式存储和基本操作

上一篇介绍了二叉树的顺序存储结构,这一篇介绍链式存储结构,定义结点由三部分组成:数据域、左孩子结点指针、右孩子结点指针;下边是实现代码:typedef struct Btree{ ElemType data; struct Btree *Lchild; struct Btree *Rchild;}BTree;//initBTree* BTree_Init(Ele

2017-11-07 11:33:41 1302

原创 算法练习之石子归并

题目描述在一个操场按次序从左到右摆放着n堆石子(n≤l00),现要将石子有次序地合并成一堆。规定每次只能选取相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分,求最小的得分总和。输入第1行为石子堆数n;第2行为每堆的石子数,每两个数之阿用一个空格分隔。输出最小的得分总和。样例输入63 4 6 5 4 2样例输出

2017-11-07 00:26:47 565

原创 二叉树的顺序存储和基本操作

一、二叉树的定义:二叉树是n个结点的有限集合,当n=0时称为空树,否则:(1)有且只有一个特殊的被称为树的根结点;(2)若n>1时,其余的结点被分为两个互不相交的子集,称为左右子树,并且左右子树都是二叉树;可以看出二叉树的定义是递归的。二、二叉树的性质:(1)在非空二叉树上,第i层至多有2^(i-1)个结点;(2)深度为k的二叉树至多有2^k-1个结点;(3)对任何一个二叉树,

2017-11-06 15:47:47 12691 4

原创 贪心算法之活动选择问题

这一篇开始简单的介绍下贪心算法。在求解最优化问题的过程中,每一步我们都面临着很多选择,当然动态规划是最主要和最有用的算法,但是对于一些问题来说,可以选用更高效的算法,比如贪心算法,贪心算法就是每一步在当时都做出最佳的选择,也就是它总是做出局部最优解,然后寄希望这样的操作能找到全局自由解。贪心算法不一定能找到全局最优解,但对大多数问题来说能找到最优解。先来看第一个问题--------活动选择

2017-11-05 16:22:01 607

原创 队列的概念和实现

这一篇简单介绍一下队列的一些基本概念和基本操作一、队列的基本概念:队列:属于运算受限的线性表,是一种先进先出的线性表。只允许在表的一端进行插入,在表的另一端进行删除。对首:允许进行删除操作的一端。对尾:允许进行插入操作的一端。二、队列的结构和实现:1、队列的顺序表示和实现,分为静态和动态,和栈类似。以下是静态顺序队列typedef struct queue{

2017-11-04 18:32:40 1149

原创 动态规划之最长公共子序列

先来看一下基本概念1、公共子序列:给定两个序列X和Y,如果Z既是X的子序列,又是Y的子序列,那么称Z是X和Y的公共子序列。2、最长公共子序列:求公共子序列中长度最长的。最长公共子序列问题,简称LCS问题,下边说一下求解思路:步骤一:刻画最长公共子序列的特征:前缀:给定一个序列X={x1,x2,x3...xm},对于i=1...m,定义X的第i前缀Xi={x1,x2,..xi};

2017-11-04 15:57:35 264

原创 栈的概念和实现

栈是应用很广泛的数据结构,属于操作“受限”的线性表。一、栈的基本概念栈:是限制在表的一端进行插入和删除操作的线性表。又称为后进先出LIFO (Last In First Out)或先进后出FILO (First In Last Out)线性表。栈顶:进行操作的一端,用栈顶指针来指示栈顶元素。栈底:固定端。二、栈的结构和操作1、栈的顺序存储表示:顺序存储又分为静态顺序栈和动态

2017-11-03 22:43:10 246

原创 opencv篇之简单的播放视频

欢迎关注,定期更新这一篇贴一下opencv如何播放视频,没什么大的技术性,只是单纯的增加一下学习乐趣。先看最原始的播放代码: cvNamedWindow("play vedio"); CvCapture* capture=cvCreateFileCapture("D:\\KuGou\\NumberNine.mkv"); IplImage* frame; while(1) {

2017-11-02 17:16:47 787

原创 opencv篇之一 图像的读取和显示

欢迎关注,定期更新从这一篇开始,我们来简单的了解opencv的一些概念和应用,关于opencv的起源、发展之类的不再赘述。首先来说一下环境配置,这里本人是vs2010+opencv3.1,opencv3.1的源码可以在官网上下载,下载下来后进行编译,这里本人编译成了64位的。关于具体的配置步骤和编译步骤,大家可以参考网上的一大堆资料,这里不再赘述。下边直接来第一个例子,图像的读取和显示,代码给

2017-11-01 23:03:22 327

原创 动态规划之矩阵链乘法

上一篇介绍了动态规划的基本概念,又介绍了一个典型的例子链条分割,这一篇来介绍另一个例子-----矩阵链乘法给定一个n个矩阵的序列,我们希望计算它的乘积 A1A2A3...An,我们可以用括号标定计算次序,然后再利用标准的矩阵乘法算法来计算,由于矩阵乘法满足结合律,所以任何一种计算顺序最后的计算结果都是相同的。完全括号化的矩阵乘积链:它是单一矩阵,或者两个完全括号化的矩阵乘积链的积,并且已经

2017-10-31 21:31:39 707

原创 动态规划之钢条切割问题

欢迎关注,定期更新算法问题!这一篇来讨论一下关于动态规划的一些问题。动态规划和分治方法类似,都是组合子问题的解来求解原问题,但是两者不同的是分治方法将问题化为互不相交的子问题,递归的求解子问题,再将子问题的解组合起来求解原问题;而动态规划应用于子问题重叠的情况,即不同的子问题有公共的子子问题。所以在这种情况下,分治方法会重复计算那些公共子问题,但是动态规划对公共子问题只求解一次。动态规

2017-10-30 21:46:11 518

原创 线性表之基于链表的实现

欢迎关注,大家共同学习!上一篇介绍了线性表的顺序存储结构和基于数组的实现,这篇介绍线性表的链式存储结构。链式存储:用一组任意的存储单元存储线性表中的元素;特点:(1)存储单元可以是连续的,也可以是零散的;(2)链表中结点的物理顺序和逻辑顺序不一定相同。由于存储单元不一定是连续的,为了正确的表示结点之间的逻辑关系,每个结点除了存储数据信息外,还需要存储结点的直接后继结点的地址

2017-10-29 15:37:06 328

原创 线性表之基于数组的实现

欢迎关注,大家共同学习!线性表是有n个元素组成的有限序列,有两种存储结构:顺序存储结构和链式存储结构,这一篇简单介绍顺序存储结构。顺序存储结构的特点:(1)、它的物理顺序和物理顺序一致;(2)、数据元素之间的关系是以元素在计算机内“物理位置相邻”来体现的;由于数组具有以上特点,因此可以基于数组来实现顺序存储结构。先来看看它的定义,我们用结构体来实现;typedef stru

2017-10-28 23:34:00 416

原创 分治策略之矩阵乘法的几种实现

欢迎关注,定期更新算法问题今天介绍一下分治算法的一个典型例子——矩阵乘法如果以前了解过矩阵,应该知道矩阵的乘法公式C(m,n)=A(m,k)*B(k,n),在这里我们只讨论方阵,假设A是n*n阶,B也是n*n阶,那么要计算乘积需要进行n^2个元素,看《算法导论》给出的伪码:上边这个过程进行三次循环,每次循环执行n步,故花费时间是O(n^3),下边是代码实现:void

2017-10-27 21:58:50 6643 2

二叉排序树和霍夫曼编码树

简单的二叉排序树和霍夫曼编码树的完整例子,可供学习

2018-11-17

ege画的时钟代码

利用ege库编写的时钟代码,用来当做学习的例子,提高兴趣

2018-07-24

vc6.0下mfc控件加载jpg格式图片

利用堆空间上的刘对象,在vc的mfc中使用除了默认bmp格式,其他例如jpg格式的图片。

2018-07-24

空空如也

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

TA关注的人

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