首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

代码挑战 魔法圣诞

,但网上鲜见C#代码的圣诞,所以今天我就使用 C# 代码 来 展示一下 它的实力,挑战画一颗带魔法圣诞会自动成长,树上挂件会不断变换,就像有魔法一样~ ---- 三、效果展示 ---- 四、...实现步骤 画圣诞 画圣诞的星星 左边线和右边线 树上的小装饰挂件 背景图 施魔法:让圣诞动态生长,树上挂件不断变换 ---- 五、编码实现 画圣诞 这是整颗的“一段”的方法: private...0 : (curStarColorIndex + 1); curStarColorIndex = nextStarColorIndex; } 左边线和右边线 这里有个小细节,就是为了看起来更有层次感...,所以对左边线和右边线,也做了处理,开始是单纯的直角三角形,但是太直了,所以改为多边形效果就好很多,像有雪压在上面的效果~ // 左边 private void DrawTreeLeft(Graphics...using (Pen pen = new Pen(Color.White, 3f)) { g.DrawLines(pen, borderPts); } } // 右边

1.2K310
您找到你想要的搜索结果了吗?
是的
没有找到

解算法:100. 相同的

题目链接 https://leetcode-cn.com/problems/same-tree/ 题目描述 给定两个二叉,编写一个函数来检验它们是否相同。...如果两个在结构上相同,并且节点具有相同的值,则认为它们是相同的。.../ \ 2 1 1 2 [1,2,1], [1,1,2] 输出: false 解题方案 思路 标签:深度优先遍历 终止条件与返回值: 当两棵的当前节点都为...null时返回false 当两个都不为空但是值不相等时,返回false 执行过程:当满足终止条件时进行返回,不满足时分别判断左子树和右子树是否相同,其中要注意代码中的短路效应 时间复杂度:O(n),n为的节点个数...q.val) return false; return isSameTree(p.left, q.left) && isSameTree(p.right, q.right); };

35620

解算法:111. 二叉的最小深度

题目链接 https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/ 题目描述 给定一个二叉,找出其最小深度。...示例: 给定二叉 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2....解题方案 思路 标签:DFS 终止条件、返回值和递归过程: 当前节点root为空时,说明此处的高度为0,0也是最小值 当前节点root的左子树和右子树都为空时,说明此处的高度为1,1也是最小值 如果为其他情况...,则说明当前节点有值,且需要分别计算其左右子树的最小深度,返回最小深度+1,+1表示当前节点存在有1个深度 时间复杂度:O(n),n为的节点数量 代码 Java版本 /** * Definition...= null) { ans = Math.min(minDepth(root.right), ans); } return ans + 1; }; 解 ? ? ? ?

92910

OpenCV直线,画圆,椭圆,矩形,绘制文字

这个没什么可说的,就是需要知道OpenCV里这些东西的API是什么就可以了。直接上代码,具体注释看代码即可。...MyBG); drawRectangle(MyBG); drawEllipse(MyBG); drawCricle(MyBG); //MyBG是背景图,"666"是画上去的文字,Point表示的起点.../Point是点的数据结构 Point p1(0, 0); Point p2(533, 300); Scalar color = Scalar(255, 0, 0); //image表示在哪儿,...color, 1, LINE_AA); } void drawEllipse(Mat& image) { Scalar color = Scalar(0, 0, 255); //image表示在哪儿,...Point表示椭圆的中心,Size表示椭圆的长短半轴的长度 //第一个0表示从0位置开始 //第二个0和360表示的椭圆的范围是0-360° ellipse(image, Point(image.cols

3.9K10

线索二叉怎么-1. 为什么要用到线索二叉

为什么要用到线索二叉?   我们先来看看普通的二叉有什么缺点。下面是一个普通二叉(链式存储方式):   乍一看,会不会有一种违和感?...我们注意到线索二叉怎么,结点 G 的两个指针域都为 NULL,并未被利用,那么我们使用这两个指针,分别指向其前驱和后继不就好了吗?   实在是两全其美,天作之合!但是问题并没有解决!   ...一个二叉链表,结点结构如上,我们将所有空指针都变为线索,这样的二叉就是二叉线索。   3. 如何创造线索二叉?   ...我们按照某种遍历方式,把普通二叉变为线索二叉的过程被称为二叉的线索化。   ...修改空指针域的内容线索二叉怎么,及其标志位,使该指针称为线索。   说明:我们在遍历二叉时,使用到了递归,所以在进行线索化的时候,也会使用它。

36120

HTML5组件延迟加载技术实现

HT for Web的HTML5组件有延迟加载的功能,这个功能对于那些需要从服务器读取具有层级依赖关系数据时非常有用,需要获取数据的时候再向服务器发起请求,这样可减轻服务器压力,同时也减少了浏览器的等待时间...http://www.hightopo.com/guide/readme.html 进入正题,今天用来做演示的Demo是,客户端请求服务器读取系统文件目录结构,通过HT for Web的HTML5组件显示系统文件目录结构...DOCTYPE html>          tree-loader     <script src...整体的思路是这样子的,当然这离我们要实现的组件的延迟加载技术还有些差距,那么,HT for Web的HTML5组件的延迟加载技术是怎么实现的呢?不要着急,马上开始探讨。...组件延迟加载技术就设计完成了,我在服务器的控制台打印出请求路径,看看这个延迟加载是不是真的,如下图: 看吧,控制台打印的是4条记录,第一条是请求跟目录时打印的,我在浏览器中展开里三个目录,在控制台打印了其对应的目录路径

1.7K50
领券