- 博客(18)
- 收藏
- 关注
原创 行为模式——策略模式
文章目录简述简单案例1. 打折策略基类2. 打折策略子类3. 具体的打折实现类4. 测试结果简述在策略模式中,一个类的方法可以在运行的时候动态发生更改。使用方式:定义一系列策略,将它们封装起来,使它们可以相互替换。简单案例打折策略的实现我们平时在网上买东西经常会遇到打折活动现在有两种打折策略,一种是满100减20,另一种是打8折请使用策略模式来实现上述打折功能。1. 打折策略基类//打折策略基类class DiscountStrategy {public: virtual d
2021-04-19 19:25:07
103
原创 创建型模式——简单工厂模式
文章目录简述简单案例1. 设计手机工厂基类2. 设计手机子类3. 设计工厂类4. 测试结果简述简单工厂模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。简单案例现在要生产手机,包括iphone、小米等。尝试用设计模式来实现这个过程。这里我们用到了简单工厂模式。1. 设计手机工厂基类// 手机工厂基类class PhoneFactory {public: virtual void
2021-04-19 16:47:48
139
原创 常见的GIT命令
文章目录远程覆盖本地远程覆盖本地git fetch --all && git reset --hard origin/master && git pull
2021-04-19 09:57:57
102
原创 浮点数相关问题
文章目录Q1:浮点数能被精确地表示吗Q2:两个浮点数怎么比较(>、<、!= 、==)Q1:浮点数能被精确地表示吗不一定。0.3就不能被精确表示。1 / 4 = 0.25-----------------------------------------------------小了,加上这一位,继续加下一位。1 / 4 + 1 / 8 = 0.375------------------------------------------大了,舍掉1 / 8,接着往下一位加。1 / 4
2021-04-07 11:15:48
126
原创 剑指offer专题——排序(持续更新)
文章目录剑指offer 29——最小的K个数剑指offer 29——最小的K个数题目描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组输入[4,5,1,6,2,7,3,8],4返回值[1,2,3,4]解题思路使用堆排序(大顶堆、优先队列)1.当优先队列的size<k时,元素直接入队2.当等于K的时候,元素与堆顶元素相比,小于堆顶时选择替换堆顶元素
2021-04-05 19:18:13
96
原创 剑指offer专题——数学(持续更新)
文章目录剑指offer 11——二进制中1的个数剑指offer 12——数值的整数次方剑指offer 11——二进制中1的个数题目描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。输入10返回值2解题思路方式1,每次右移一位再和1与,判断低位是0还是1。但是负数右移高位补一,因此不适用负数。方式2,每次与自身-1想与,即n&(n-1),确保每次都减少一个1这道题采用第二种方式代码int NumberOf1(int n) { in
2021-04-05 11:43:33
124
原创 剑指offer专题——动态规划
文章目录剑指offer 07——斐波拉契数列剑指offer 08——跳台阶剑指offer 07——斐波拉契数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n ≤ 39解题思路斐波拉契数列a0 = 0,a1 = 1,an = an-1 + an-2;可用动态规划解决算法优化,空间优化,无需存储每个状态代码int Fibonacci(int n) { if(n == 0) retu
2021-04-04 13:26:54
101
原创 剑指offer专题——设计(持续更新)
文章目录剑指offer 05——用两个栈实现队列剑指offer 05——用两个栈实现队列题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路两个栈分别为入栈和出栈元素从入栈进入到出栈,顺序恰好变成了出队的顺序代码public: void push(int node) { stack1.push(node); } int pop() { //若出栈为空,将入栈元素全部推进出栈
2021-04-03 02:44:42
216
原创 剑指offer专题——数组(查找)(持续更新)
文章目录剑指offer 01——二维数组的查找剑指offer 01——二维数组的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1, 2, 8, 9],[2, 4, 9, 12],[4, 7,10,13],[6, 8 11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。
2021-04-03 02:44:14
274
原创 剑指offer专题——字符串(持续更新)
文章目录剑指offer 02——替换空格剑指offer 02——替换空格题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路1.第一次遍历找出空格的个数2.字符串转char*3.定义前后指针,遍历字符转替换代码string replaceSpace(string s) { // write code here //空格个数 int num
2021-04-03 02:43:39
213
原创 剑指offer专题——链表(持续更新)
文章目录剑指offer 03——从尾到头打印链表剑指offer 03——从尾到头打印链表题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。输入{67,0,24,58}返回值[58,24,0,67]解题思路使用递归代码void PrintOP(ListNode* node, vector<int> &res) { if(!node) return; PrintOP(node->next, res);
2021-04-03 02:42:48
155
原创 剑指offer专题——树(题量:15)
文章目录剑指offer 04————重建二叉树剑指offer 04————重建二叉树题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。示例:输入[1,2,3,4,5,6,7],[3,2,4,1,6,5,7]返回值{1,2,5,3,4,6,7}解题思路1 前序遍历由3部分组成,1.头节点
2021-04-01 15:45:58
159
原创 2021/4 LeeCode每日一题打卡(c++)
文章目录4/1: 笨阶乘题目描述解题思路代码4/1: 笨阶乘题目描述通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积。例如,factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1。相反,我们设计了一个笨阶乘 clumsy:在整数的递减序列中,我们以一个固定顺序的操作符序列来依次替换原有的乘法操作符:乘法(*),除法(/),加法(+)和减法(-)。例如,clumsy(10) = 10 * 9 / 8 + 7 - 6 * 5 / 4
2021-04-01 13:33:10
147
原创 Unity划线模糊的问题
问题的起因是,我需要画虚线。我的做法是,做一张虚线的贴图,制作一个材质,并且将这个材质赋值给LineRenender。最后画出来了,但是虚线边缘非常模糊。经过查找资料,我发现,当一张图片被拉伸的时候,可能会出现边缘模糊的情况。为什么图片会被拉伸呢?Unity中,每个单位是100像素,例如,线宽是一个像素,我们的材质并没有一个像素宽,于是材质被拉升了,出现了模糊的情况。去除模糊,我们做贴...
2020-04-11 22:29:38
460
原创 使用HTML+CSS实现图片滚动效果
使用HTML+CSS实现图片滚动效果之前用js实现过图片切换的效果,今天实现图片滚动的特效,这里不包含图片的切换。直接上代码:<div class="loopimg"> <ul> <li> <img src="img/运动/运动 - 21.jpg" height="200px"/> ...
2020-02-29 17:10:32
22326
4
原创 Unity雷达扫描特效的制作
unity雷达扫描特效的制作效果要求:应该是要做成第一个图的样子,emmm,怎么做呢,表示一脸懵逼。(第二个效果图是我从网上荡下来的)。以下是我的思路:雷达特效=同心圆+两条垂直线+扫描效果。嗯,没错,就这么干。同心圆还不简单 ,几个linerenender就搞定了,positions的数据呢?写段代码跑个数据txt就完事了。然后再unity里面,新建一个物体,添加一个lineren...
2020-02-29 16:34:06
2931
原创 AI制作扇形
1.新建一个文件2.选择椭圆形工具,按住shift和鼠标左键画一个圆。3.绘制一条过圆心的直线,然后通过旋转这条直线获得扇形。(ps:直线最好为直径,因为直线旋转是以直线中点为转心),如果不是直径,就会遇到下面情况:4.旋转直线,使用直接选择工具选中直线,右键——>变换——>旋转,角度我们填15°,确定后直线逆时针旋转了15°。同样的操作,选中直线,旋转角度设置-30°,选择为...
2020-02-28 13:25:16
9286
原创 SVN服务器搭建
svn服务器的搭建工具:服务器端:VisualSVN Server下载地址:http://subversion.apache.org/packages.html#windows客户端:TortoiseSVN下载地址:https://tortoisesvn.net/downloads.zh.html...
2020-02-19 11:37:16
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人