自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《剑指offer》-重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:以下面的树结构进行前序和中序举例。 那么前序中的A就是最终的根节点,根据中序遍历规则,可以知道中序遍历中A左侧的节点都是A的左子树节点,A的右边就是...

2019-12-18 22:29:59 103

原创 《剑指offer》两个栈实现队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:栈是先进先出,队列是先进后出。那么两个栈需要实现的就是先进后出。比如输入ABCD,按顺序放在一个栈里面就是ABCD。见下图 在队列中对一个出来的是A,在栈中第一个出来的是D。而一个栈是先进先出ABCD,那么用另外一个栈做存储。A栈存着ABCD,弹出存到B栈中,就得到: 这样,B栈的...

2019-12-17 20:58:27 101

原创 简历模式--原型模式

注:该部分参考《大话设计模式》:简历模式--原型模式。 当查理感觉旺卡太累了的时候,就会招人帮忙,那么招人的时候,需要的就是简历,那么大部分的求职者的简历都是千篇一律的,比如巧克力糖果、巧克力棒、巧克力饮料,有三个职位,可是大部分求职者的简历居然三个职位的简历是一样的,这样成功几率太小了。 那么查理在找某个岗位的时候,当然是从最符合该岗位的简历中筛选。如果你的简历是一样的,但是你的经历可以超过...

2019-12-17 20:57:08 372

原创 设计模式-工厂模式

工厂模式和简单工厂模式:简单来说,工厂模式是简单工厂模式的进化版。 就像简单工厂里面提到的,查理想吃什么类型的时候,通过旺卡来获得想吃的糖果,但是如果查理想吃苹果味的和草莓味的巧克力棒,那这个时候怎么办?让旺卡找来苹果味、草莓味的巧克力棒制作师,然后给他制作。可是要是有几百种口味嘞?旺卡怎么可能记得来了? 这就是当工厂变大,功能变多的时候,简单工厂所遇到的瓶颈: 简单工厂当负责太多的功能对象...

2019-12-12 23:21:04 85

原创 两个单调增列表的合并

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路: 常见的思路: 另创一个head,然后从头到尾一直比较,取小的接到head后面,循环比较。 选取一个链表当做模板,遍历另外一个,一个个比较,然后插进去,相当于选择插入排序。 自己的思路,和其他差不多,只是稍微改造了一下。(注:VS2019通过,且结论正确,但是牛客一直说数组越界。)就用图表...

2019-12-12 23:17:25 201

原创 单链表倒转

1.实现单链表的逆转函数,输入一个链表,反转链表后,返回翻转之后的链表。 思路:设置三个链表(实际是两个)hou指向前一个节点、pHead指向中间节点、pre指向后一个节点,如下图。hou是前一个节点为空,pHead是传入的节点,pre是后一个节点。 因为单链表,需要换方向,那么这三个临时指针分别代码一个节点的上一个节点(hou),当前节点(pHead)和下一个节点(pre)。开始循环: ...

2019-12-12 23:12:57 131

原创 《剑指offer》数组中出现次数超过一半的数字、斐波那契序列(动态规划)

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路:1.只有一个数字出现的次数大于一半,如果设数组N个,那么多出现的数字次数为M,那么M - N/2 >0,这表明,用这个数字的出现次数减去其他所有数字的出现次数,结果大于0。2...

2019-12-11 22:30:28 100

原创 《剑指offer》输入一个链表,输出该链表中倒数第k个结点。

输入一个链表,输出该链表中倒数第k个结点。 思路:这个题目就很简单了,像“检测链表是否有环?”一样,一前以后走就行了。但此时确保不是环。一个先走k-1步,然后一起动,知道另外一个为NULL,但是注意,K需要判断大于节点数量还是小于节点数量。 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : ...

2019-12-10 22:23:07 77

原创 关于union内存对齐

关于union的基本概念和大小计算不再赘述,只重点提示一下,使用union的时候一定要注意初始化、初始化、初始化...重要的事情说三遍。初始化的方法可以直接初始化union中最长数据,也可以和struct一样使用ZeroMemory(this, sizeof(type_union));。 首先,从实用角度分析,不关注内存存储。假设有一个union定义如下: typ...

2019-12-10 21:12:18 805

原创 字符串替换空格、旋转数组最小数字、从尾到头打印链表

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 具体思路:1.遍历字符串,看之后的总长度,2.从后往前遍历字符串,进行替代 class Solution { public: void replaceSpace(char *str,int length) { if(...

2019-12-06 22:32:59 93

原创 《剑指offer》---二维数组中的查找

《剑指offer》---二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 1,2,3,4,5 6,7,8,9,10, 11,12,13,14,15 都知道可以用二分法进行查询,那么对于这个矩阵怎么进行二分法进行查询了?那就从最左...

2019-12-05 22:55:12 99

原创 常用的功能喊:判断掩码是否合格

判断掩码是否格式正确 void CDlgiPublishNetwork::AddressCStringToIntArray(int addString[4],CString str) { int begin = 0; int end = 0; int sum = 0; while(3 > sum) { end = str.Find('...

2019-12-04 22:40:15 234

原创 设计模式-代理模式

代理模式:为其他对象提供一种代理以控制对这个对象的访问[DP]。 查理当上老板之后,不是所有人都想见到他就可以见到他的,而旺卡就成为了一个类似于代理的存在,任何想要见查理的人,都要被旺卡进行第一轮的筛选,这就是代理的对一个功能:安全代理,给不同的用户不同设置不同的访问权限。 而之后你可以通过旺卡联系到查理就是第二个功能,因为只有旺卡知道查理的手机号,旺卡给你这个...

2019-12-03 23:22:01 97

原创 装饰模式

装饰模式的核心就是:将类的功能函数和界面函数分离。就是实现功能的类就专门实现功能,实现界面的类就专门实现界面,这样界面添加修改就很简便,而不是可能存在修改功能类的一些东西,这就是装饰模式,就像你换衣服而不需要把人换一遍。 这就是装饰模式的UML图,用户会C++、Java等这属于技能,属于某个类的功能函数,而穿衣服属于界面实现,这样分离之后,我学会了某些技能,直接在左侧添加就行了,而如果...

2019-12-02 22:41:32 95

原创 Leetcoder:single-number 、Sqrt

Leetcode-Sqrt-牛顿逼近法:注,数学的重要性 int sqrt(int x) { long num = x; while(num * num > x ) { num = (num + x/num)/2; } return num; } Leet...

2019-11-29 21:37:49 90

原创 策略模式

策略模式 查理想要扩大自己的巧克力工厂,但是他还是一个小孩,很多东西都不知道,那么他就只能让旺卡想出很多种销售模式,来进行提高销量,比如买二送一、满300减120、特价商品打个6折如此如此,那么由查理进行挑选那种策略模式的时候,他需要怎么处理了?旺卡把所有的销售策略都列出来,然后一个个讲给查理听,然后让他来做决定,那么这样和由查理来想策略有什么差别了?那么查理当然是应该是对旺卡说:我想巧克...

2019-11-28 22:33:44 90

原创 单一职责原则、开放-封闭原则、依赖倒转原则

单一职责原则 就像上次所说的《查理的巧克力工厂》中所说的,查理如果想吃巧克力棒,他让旺卡把巧克力棒制造师叫过来帮他做就好了。但是如果一开始旺卡成立工厂的时候为了节省开支,他招了一个巧克力制作师,会制作巧克力棒、巧克力糖、巧克力饮料。这样有个好处,就是查理把他找来之后,可以同时吃到巧克力棒、巧克力糖、巧克力饮料,很多人都喜欢这样吧,叫一个人就可以迟到三种东西,可是有没有想过,他可是一家工厂,比如这个...

2019-11-27 22:45:56 141

原创 设计模式:简单工厂模式

设计模式:简单工厂模式 大家应该都看过《查理的巧克力工厂》这个电影,就是一个小男孩发生奇遇,获得一个老爷爷,最后老爷爷给了他巧克力工厂的故事。其中在旅途中,会看到各种巧克力制品,巧克力棒、巧克力糖果、巧克力饮料等等,而被主角一一躲过,最终他赢得了工厂,那这个时候主角想吃巧克力,他会怎么做了:他会问旺卡,我想吃巧克力棒,那么旺卡会叫来生产管理,生产管理叫来巧克力棒制作师,来制作巧克力棒或者给主角巧...

2019-11-26 22:12:00 193

原创 Leetcode - Linked-list-cycle(i,ii)

对于一个给定的链表,返回环的入口节点,如果没有环,返回null。 注:需要提供无额外空间的算法。 思路:先是判断是否有环。再来获取其入口。 是否有环 数学上有这么一道题目:有两个人比赛跑步,一个人先跑,那么请问另外一个人怎么样才能追上这个人? 解答过程当然是:。然后根据条件得到b的值或者t的值。那么引申到这个题目上来讲:假设a、b同时跑,b跑的快、a跑的慢,怎么样a才可能追上b...

2019-11-25 23:20:34 111

原创 Combo Box插入AddString和insertsting区别

网上看了好几个相关问题的帖子都没有回答到点子上,故专门开贴说明下这一细节。 新建默认Combo Box控件的Sort属性为Ture 使用AddString插入是会自动按照字母大小写排序,达不到我们想要的按照插入顺序显示的目的,此时有两种方法: 方法一:修改Sort属性为False,取消自动排序即可。 方法二:使用insertstring函数插入,顾名思义,insertstring需要制定索...

2019-11-21 21:56:14 575

空空如也

空空如也

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

TA关注的人

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