会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
熊妮妮
报错乃人生常事 不是在写bug就是在debug
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
6
7
下一页
2019年8月13日
设计模式2:策略模式
摘要: 例子来源于《大话设计模式》第二章。 策略模式的作用:封装算法 在简单工厂模式中,客户端需要认识两个类,分别是工厂类和抽象方法类。而在策略模式里,客户端只需要认识一个类,就是context类。因此,策略模式比简单工厂模式对算法的封装更加彻底。在 在学习一个设计模式的时候,一定要理解它的UML图,这对设
阅读全文
posted @ 2019-08-13 16:03 妮妮熊
阅读(174)
评论(0)
推荐(0)
编辑
2019年8月11日
设计模式1:简单工厂模式
摘要: 这个例子来自于《大话设计模式》的第一章。 简单工厂模式有3个基本的类:工厂类,抽象产品类,具体产品类。 使用抽象产品类作为一个基类,其余具体产品类继承它的基础数据,然后实现具体的功能。工厂类根据客户的需求来决定生成哪一个具体产品的对象。这种想法下抽象产品类应该设定为抽象类。这道题目虽然思路并不难,实
阅读全文
posted @ 2019-08-11 21:19 妮妮熊
阅读(187)
评论(0)
推荐(0)
编辑
数据结构2:链表
摘要: 首先来说一个问题,线性表和链表的区别。 线性表是n个数据元素的有限序列,复杂的线性表中,数据元素可以有若干个数据项构成一个记录。线性表可以有两种表示方式,顺序表示和链式表示。线性表的顺序表示是用一组连续的内存存储线性表的数据元素。而线性表的链式表示是用随机的存储单元来存储线性表的元素,这种线性表就是
阅读全文
posted @ 2019-08-11 11:33 妮妮熊
阅读(169)
评论(0)
推荐(0)
编辑
2019年8月9日
数据结构1:排序
摘要: 关键字相同的项排序后顺序不变就是稳定的排序算法,否则是不稳定的排序算法。 排序分为内部排序和外部排序,内部排序只需要访问内存,外部排序还需要访问外存。 1.冒泡排序(稳定排序算法) 很经典简单的方法,每个数字从最下面开始一层一层往上走,像冒泡泡一样。 冒泡是用两个嵌套的for循环实现的,基本操作(比
阅读全文
posted @ 2019-08-09 16:12 妮妮熊
阅读(163)
评论(0)
推荐(0)
编辑
2019年8月8日
※剑指offer系列19:复杂链表的复制
摘要: 这道题是典型的分治法,将一个大问题分解成几小步解决。一定要注意在使用指针的时候指针指向是否为空的问题。在指针指向时,可以将一个指向为空的指针作为赋值来写,但是空指针不能指向任何地方(指向空也不行),这点一定要记住。 之前把这篇写在另一个博客了,现在补回来。
阅读全文
posted @ 2019-08-08 11:22 妮妮熊
阅读(199)
评论(0)
推荐(0)
编辑
2019年7月31日
剑指offer系列55:机器人的运动范围
摘要: 这个题目的思路跟上一个很相似,还是回溯法。就是从第一个框开始判断是否大于限定值,然后判断它的上下左右。这个题可以明显看出来判断出来的应该是左上方区域,所以从0作为起点也很适合。 回溯法似乎很喜欢用递归,做题的时候注意边界值的处理。 这道题是剑指offer 的最后一个题了。我写的这个系列博客也进入了尾
阅读全文
posted @ 2019-07-31 11:01 妮妮熊
阅读(157)
评论(0)
推荐(0)
编辑
2019年7月30日
※剑指offer系列54:矩阵中的路径
摘要: 这个题目用的是回溯法。 之前回溯法练得比较少,所以这个题还是需要重视。 回溯法是算法里学过的,就是从第一个可能得路径开始找,一直找到最后一个。 这个题目要注意一下几点: 1.从第一个开始找,如果第一个元素等于要寻找的字符串的第一个元素,就继续去寻找该元素的上下左右,看是否等于其下一个。一直匹配到最后
阅读全文
posted @ 2019-07-30 10:27 妮妮熊
阅读(153)
评论(0)
推荐(0)
编辑
2019年7月29日
剑指offer系列53:滑动窗口的最大值
摘要: 分两步: 首先找到窗口内的内容,然后找到窗口内的最大值。 上面的解法是我自己想的,看了剑指offer,这个题是在栈与队列这一节放的,也就是考点是栈与队列。用上面的方法做时间复杂度是O(nk),但是用队列的方法做复杂度可以到O(n),也就是说每次滑动窗口可以在O(1)里找到最大值。 很大提高了效率,那
阅读全文
posted @ 2019-07-29 20:37 妮妮熊
阅读(80)
评论(0)
推荐(0)
编辑
剑指offer系列52:数据流中的中位数
摘要: 注意几点: 1.要是排序后的中位数,所以要对输入的数字排序 2.注意输出的类型是double
阅读全文
posted @ 2019-07-29 20:13 妮妮熊
阅读(90)
评论(0)
推荐(0)
编辑
※剑指offer系列51:二叉搜索树的第k个结点
摘要: 根据二叉搜索树的特点,它中序遍历的顺序就是从小到大的顺序。因此只要中序遍历找到第k个就可以。 1 class Solution { 2 public: 3 TreeNode* KthNode(TreeNode* pRoot, int k) 4 { 5 if (pRoot == NULL||k==0)
阅读全文
posted @ 2019-07-29 19:50 妮妮熊
阅读(84)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
下一页
公告