Amp

leetcode104(二叉树的最大深度)--C语言实现

亡梦爱人 提交于 2020-08-09 18:06:26
求: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7] , 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 解: 思路:非常常规的思路,任意节点的深度为子树深度中的最大者+1,递归调用。最后返回根节点的深度即可。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ int max( int x, int y){ return x>y?x:y; } int GetDepth( struct TreeNode* root){ if (root==NULL) return 0 ; if (root->left==NULL && root->right==NULL) return 1 ; return max(GetDepth(root->left),GetDepth(root->right))+ 1 ; } int maxDepth( struct TreeNode* root){ return GetDepth

Hacker News 中文简讯 2020-06-28

ぐ巨炮叔叔 提交于 2020-08-09 16:53:43
Hacker News 是一家关于计算机 黑客 和 创业公司 的 社会化新闻 网站,由 保罗·格雷厄姆 的创业孵化器 Y Combinator 创建。与其它社会化新闻网站不同的是 Hacker News 没有踩或反对一条提交新闻的选项(不过评论还是可以被有足够 Karma 的用户投反对票);只可以赞或是完全不投票。简而言之,Hacker News 允许提交任何可以被理解为“任何满足人们求知欲”的新闻 ——wikipedia 更新时间: 2020-06-28 04:29 Lemmy (open source federated Reddit alternative) secures funding for development - (lemmy.ml) Lemmy(开源联邦Reddit替代方案)确保开发资金 得分/评论:66/25 How Does Sqlite Work? (2014) - (jvns.ca) Sqlite是如何工作的?(2014年) 得分/评论:207/30 Xi-Editor Retrospective - (raphlinus.github.io) Xi-编辑回顾展 得分/评论:87/15 Sensors detect rise in nuclear particles on Baltic Sea - (reuters.com)

ABAQUS粘弹性边界及地震荷载施加的简单实现(Matlab生成input文件)

丶灬走出姿态 提交于 2020-08-09 14:56:24
思路 粘弹性边界因为能够考虑地基辐射阻尼而使得结构抗震的计算结果更趋于合理,所以在需要考虑结构地基相互作用的结构抗震计算时,是较为常用的地基边界处理和地震荷载施加方法。而ABAQUS软件是经常用来进行结构响应分析的有限元软件。下面介绍一种在ABAQUS中实现粘弹性边界及地震荷载施加的方法。 粘弹性边界是通过在有限元模型的地基边界节点上施加弹簧阻尼器实现的,在ABAQUS中的实现有以下几种方法:第一种,通过ABAQUS自有的弹簧单元spring单元和阻尼单元dashpot实现,具体的单元参数可以参考文献[1],这种较为精确;第二种是通过ABAQUS的UEL子程序实现,可以看下文献[2];还有一种是等效单元替代的方法,就是在地基周围加一层单元,然后设置近似的材料参数,参考文献[3],这一种精度较差,但实现起来较为简单。我采用的是第一种方法,但操作起来较为繁琐,具体程序及过程后面介绍。 采用粘弹性边界,其配套的地震荷载输入方法就是在已知输入地震位移和速度的情况下,计算各个时刻地基边界各个结点上应当施加的集中力荷载,然后施加荷载,一步一步的进行计算。地震荷载的施加在ABAQUS中也有两种不同的思路,文献[2]中的方法是通过ABAQUS的DLOAD和UTRACLOAD两个子程序实现。DLOAD子程序用于施加边界面的法向荷载,UTRACLOAD用于施加边界面的切向荷载。而文献[1

85.源码分析

心不动则不痛 提交于 2020-08-09 14:01:35
1.hashMap 参考: https://www.cnblogs.com/yujian0817/p/12689722.html HashMap中hash(Object key)原理,为什么(hashcode >>> 16) : https://blog.csdn.net/qq_42034205/article/details/90384772 1.1 结构 数据 + 链表 +红黑树 数组 :一段连续控件存储数据,指定下标的查找,时间复杂度O(1),通过给定值查找,需要遍历数组,自已对比复杂度为O(n) 二分查找插值查找,复杂度为O(logn) 线性链表 :增 删除仅处理结点,时间复杂度O(1)查找需要遍历也就是O(n) 二叉树 :对一颗相对平衡的有序二叉树,对其进行插入,查找,删除,平均复杂度O(logn) 哈希表 :哈希表中进行添加,删除,查找等操作,性能十分之高,不考虑哈希冲突的情况下,仅需一次定位即可完成,时间复杂度为O(1)哈希表的主干就是数组 1.1 为什么加载因子 设置为0.75 当加载因子越大数组的利用率越高,但hash碰撞将越大,经计算 0.75 是一个理想值,数组利用率高 hash碰撞低 1.2 为什么链表长度大于8 转化为红黑树 根据 泊松定律 ,当链表长度为8的时候落入该index的概率 1亿万分之一 1.3 红黑树 结构有什么好处 减少了时间复杂度 :

BuildRun低代码开发教程第五节 | 设备管理开发

て烟熏妆下的殇ゞ 提交于 2020-08-09 14:01:03
课程说明 由于设备管理中需要关联产品和设备组,需要定义动态列表,因此将设备管理相关功能的构建单独作为一个课程来介绍,本课程涉及到主要的新知识点: 动态值列表定义 查询区域使用值列表 新增和更新区域使用值列表 详细信息页面只读信息查看 课程内容 01 创建设备页面 选择应用设计器左侧的 页面 图标,进入界面列表窗口: 1. 选择右上角的 创建 进入创建页面窗口,录入如下信息: 名称:设备 编码:DEVICES 标题:设备管理 2. 填写信息完成后,点击创建页面窗口左下角的 “ 创建 ” 按钮完成页面创建后进入页面设计视图。 3. 点击顶端的 数据源 图标,切换到 数据源定义 视图。 4. 点击左上角的 (➕) 加号,从弹出的列表中选择 设备 创建产品数据源。 5. 点击顶端的 页面设计 图标,切换到页面设计界面。 ▍ 1.1定义设备列表Section 1. 左边页面结构视图中展开 设备 节点,选择下面的 默认Section 节点,在右侧的 Section属性 下修改信息为: 名称:设备列表 编码:listDevices 2. 拖动右侧 组件列表 下的 数据组件->列表 组件到中间区域,看到虚框出现后释放会弹出 组件添加数据源 窗口,看到已经默认选中 设备 这个数据源,直接点击 确定 按钮。 3. 左边页面结构视图中展开 设备 节点,选择下面的 产品列表->表格组件 节点,从右侧 字段

开发这样一个复杂的表单你需要用多久

北慕城南 提交于 2020-08-09 13:03:45
开发这样一个复杂的表单你需要用多久 > 表单在中后台开发的时,是最多也是最另人头疼的,多级联动,繁杂的验证,动态解析等可算是苦不堪言。所以出现了无数的表单解决方案,像Uform, formily, NoForm等等一大堆用来解决中后台开发表单,可想而知,解决复杂的表单开发是多么另人头大;有XML的,有json-schema格式的,无论哪一种都是想能够轻松的解决另人头脑的表单开发,提高生产力。 下面看一下商城后台添加商品常用的表单片段 > 当然,其中有部分不是,这只是为了做一个 DEMO, 解释一下这是个啥 远程搜索(demo):通过输入文字动态去后台查询可选项 搜索&创建(demo):通过输入文字动态去后台搜索,如果没有搜索到也可以创建,和上面的不同的是,上面查询不到是不可以选的 商品名称:名称不用说,字符串,非空验证 副标题: 不用说,一串字符串,简单描述一下商品 分类:后台加载出分类,级联选择 地址(demo): 多选项联动测试,选择1触发2,选择2触发3 优惠方式:选择不同的优惠方式 (无优惠,促销,会员特价,满减) 无优惠:无特殊处理 促销:表单,开始时间,结束时间,促销时的价格;验证:不能为空,结束时间不能小于开始时间,价格数值 会员特价:黄金会员,白金会员输入不同的价格。验证:不为空,数值 满减:当购买金额足够多少时,减少的金额,可以添加多个分段,验证:至少一条 类型

给easyui的datagrid的menu-item里面改变颜色。。。

不打扰是莪最后的温柔 提交于 2020-08-09 12:47:51
需求:给easyui的datagrid的contentMenu中改变颜色: 步骤1. 初始化菜单的时候,利用setTimeout在菜单初始化后再改变颜色: /** * 右键菜单项 * @returns {Array} 菜单内容 */ function createMenu(falg){ var menuObj = [ { text: "标记", iconCls: "icon-hamburg-statistics", children: [ { text: "<font color='#FF0000' class='_color'>红色</font>", iconCls: "icon-standard-pencil", handler: function (e,row) { setColorFun(row,'#FF0000'); } }, { text: "<font color='#FF7F00' class='_color'>橙色</font>", iconCls: "icon-standard-pencil", handler: function (e,row) { setColorFun(row,"#FF7F00"); } }, ] } ]; setTimeout(function(){ initColorMenuFun(); },100); return menuObj;

至联云讲解《IPFS生态最新进展及分布式存储未来市场潜力》

那年仲夏 提交于 2020-08-09 12:29:13
PFS作为一种新型的储存技术,致力于改变传统存储的提供与使用方式,是存储应用普及的重要突破口。目前客户遍及中国8个省份,三年内将遍及东南亚,走出中国。公司立足中国安徽,服务全球存储市场 IPFS生态近期有比较大的发展,比如内容分享、社交网络、身份服务、区块链应用、金融电子化等等各个方面。非常重要的是,目前有比较多的浏览器开始支持IPFS,包括Firefox, Chrome, Brave, Opera 等。 IPFS 0.5.0改进巨大 IPFS 0.5 版是IPFS 到目前为止最大的一次更新。这次更新主要在IPFS的效率、安全和更具弹性方面得到巨大提升。 效率的提升是全方位的,重要指标包括: 2倍存储速度提升:现在IPFS存储文件的速度是普通文件系统的2.5倍速度; 2.5倍广播速度提升:一千个节点测试中表现出很好的提供服务的速度; 2到5倍的内容获取速度提升:当从多个节点同时下载内容速度提升更为明显; 2到6倍的内容查询速度提升:不仅仅是更快,也更稳定可靠。 上面这个部分讲的是直接提供服务。由于IPFS网络是一张大网,很多数据需要从其他节点获取,这就涉及到内容路由的问题,也就是说需要经过多步才能到达客户。内容路由的速度在0.5版本中也得到了很大提升。 0.5.0版与上一个版本(0.4.23)对比之下。在平均速度上提升了大约5倍多。不仅如此,IPFS网络在与HTTP网络的对比上

7-5 数组元素循环右移问题 (20分)-016

无人久伴 提交于 2020-08-09 12:28:15
7-5 数组元素循环右移问题 (20分) 一个数组 A 中存有 N ( > 0 )个整数,在不允许使用另外数组的前提下,将每个整数循环向右移 M ( ≥ 0 )个位置,即将 A 中的数据由( A ​ 0 ​ ​ A ​ 1 ​ ​ ⋯ A ​ N − 1 ​ ​ )变换为( A ​ N − M ​ ​ ⋯ A ​ N − 1 ​ ​ A ​ 0 ​ ​ A ​ 1 ​ ​ ⋯ A ​ N − M − 1 ​ ​ )(最后 M 个数循环移至最前面的 M 个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法? 输入格式: 每个输入包含一个测试用例,第1行输入 N ( 1 ≤ N ≤ 1 0 0 )和 M ( ≥ 0 );第2行输入 N 个整数,之间用空格分隔。 输出格式: 在一行中输出循环右移 M 位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。 输入样例: 6 2 1 2 3 4 5 6 输出样例: 5 6 1 2 3 4 #include <stdio.h> int main() { /*基本变量的确定*/ int n,m; scanf("%d %d",&n,&m); if(n<=100&&n>=1){ /*数据输入存储*/ int temp[n]; for(int i=0;i<n;i++){ //此处并非遍历,而是从i=0,开始直到n-1 m=m%n;