排序法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n2) O(n2) 稳定 O(1) n小时较好 交换 O(n2) O(n2) 不稳定 O(1) n小时较好 选择 O(n2) O(n2) 不稳定 4.二叉树性质 性质1:在二叉树的第i层上至多有2i-1个结点。 性质2:深度为k的二叉树至多有2k - 1个结点(k≥1)。 性质3:对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1 。 性质4:具有n个结点的完全二叉树的深度[log2n+1] ([x]表示不大于x的最大整数)。 ,无双亲;如果i>1,则其双亲是结点[i/2]。 如果2i>n,则结点i无左孩子(结点i为叶子结点);否则其左孩子是结点2i。 如果2i+1>n,则结点i无右孩子;否则其右孩子是结点2i+1 。 5.____的先序序列和后序序列正好相反。
传统BIO的弊端有很多: 1.性能问题:一连接一线程模型导致服务端的并发接入数和系统吞吐量受到极大限制; 2.可靠性问题:由于I/O操作采用同步阻塞模式,当网络拥塞或者通信对端处理缓慢会导致I/O线程被挂住 总结 在活动连接数不是特别高(小于单机1000)的情况下,这种模型是比较不错的,可以让每一个连接专注于自己的 I/O 并且编程模型简单,也不用过多考虑系统的过载、限流等问题。
2.我们可以在父组件中直接通过$children获取子组件的值或者方法 子组件代码: ? 父组件代码: ? 同时,我们也可以通过$ref来获取子组件中的值或则方法 父组件的代码: ?
?
; 等价于: border-top-left-radius:2em; border-top-right-radius:2em; border-bottom-right-radius:2em; border-bottom-left-radius:2em; border-radius: 2em 1em 4em / 0.5em 3em; // “/”前面是水平方向半径 ,“/”后面是垂直方向半径 translateX(n) 定义 2D 转换,沿着 X 轴移动元素。 translateY(n) 定义 2D 转换,沿着 Y 轴移动元素。 scale(x,y) 定义 2D 缩放转换,改变元素的宽度和高度。 scaleX(n) 定义 2D 缩放转换,改变元素的宽度。 scaleY(n) 定义 2D 缩放转换,改变元素的高度。
1、prometheus介绍 开源的监控组件 时间序列数据存储 特点 1)由度量名称和key/value对标识的时间序列数据的多维数据模型 2)PromQL多维度灵活查询(类sql) 3)不依赖分布式存储 ="200"}// 表示查询 code 不为 "200" 的数据 http_requests_total{code=~"2.."}// 表示查询 code 为 "2xx" 的数据 http_requests_total =~"2.."}// 表示查询 code 不为 "2xx" 的数据 操作符 Prometheus 查询语句中,支持常见的各种表达式操作符,例如 算术运算符: 支持的算术运算符有 +,-,*,/,%,^。 例如 http_requests_total == 5 or http_requests_total == 2 表示 http_requests_total 结果中等于 5 或者 2 的数据。 WHERE created_at BETWEEN 1495435700 AND 1495435710 GROUP BY code, handler, instance, job, method; 总结
(2)登陆GitHub ,打开”Acount settings”,点击”SSH and GPG keys”, 然后 “new SSH key”,Title 随便填,Key 填写id_rsa.pub 创建+切换分支:git checkout -b 合并某分支到当前分支:git merge 删除分支:git branch -d (2) 幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作 (1)将当前工作”储藏”起来 git stash (2)用
表示华氏度,C表示摄氏度; 摄氏和华氏的温度转换公式如下: F = C * 1.8 + 32 C = ( F - 32 ) / 1.8 三、程序编写 1 #TempConvert.py 2 ,'f']: 4 C = (eval(TempStr[0 : -1]) - 32) / 1.8 #有一层缩进或多层缩进,缩进表示为代码框架 5 print("转换后的温度是:{:.2f elif TempStr[-1] in ['C','c']: 7 F = 1.8 * eval(TempStr[0 : -1]) + 32 8 print("转换后的温度是:{:.2f 2.注释用#表示,多行注释以‘’‘开始以’‘’结尾 3.命名与保留字 命名规则 : 大小写字母、数字、下划线和中文等字符以及他们的组合 注意:大小写敏感。 print({:.2f}.format(C))表示输出保留小数点后两个字符。 eval函数表示去掉参数最外侧引号并执行余下语句的函数 ? 例如程序中: ?
洛谷虚拟赛-2的总结 分数 & 排名 预期分数: 100+80+100+0=280 实际分数: 60+90+0+0=150 排名12 分析 第一题么,看到数据范围觉得要开 long long,实际也在输入时开了
11、xrange 例子: for i in xrange(3): print i test=[1,2,3,4] print test[:] print test[2: 3] for i in xrange(2,5): print i 结果: 0 1 2 [1, 2, 3, 4] [3] 2 3 4 xrange用于循环中,参数为一个整数的话 test[2:3]则表示获取从第2个位置到第三个位置间的元素。 那么访问倒数第二个元素: print tuple[-2] 输出结果:2 另外,数字转换成字符串有两种方式: _ _ repr _ _() str() 14、transpose和.T 例子: aa [[1 2 3]] [[1][2][3]] [[1 2 3]] [[1][2][3]] 有两种方式实现矩阵的转置。
ret-=2*mini; } return ret; } }; 四、按身高排序(下标数组排序) . - 力扣(LeetCode) 解法2:哈希存下标映射 class (const int&i,const int&j){ return nums2[i]<nums2[j]; }); //然后进行赛马 / /用nums2存储最后的结果 int left=0,right=n-1; for(auto&x:nums1) if(x>nums2[index[left ]]) nums2[index[left++]]=x; //如果我比你大 我就超越你 else nums2[index[right--]]=x; return s.size(); for(int i=0,j=0;i<n1&&j<n2;++i,++j) { //找饼干 while(j<n2&&s[j
前言 本篇博客紧接着指针总结1来总结下数组和指针的关系,让我们一起来看一下数组与指针的“爱恨情仇”。 欢迎关注个人主页:小张同学zkf 若有问题,评论区见 1. #include <stdio.h> void test(int arr[]) { int sz2 = sizeof(arr)/sizeof(arr[0]); printf("sz2 = %d\n", sz2); } int main() { int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int sz1 = sizeof(arr)/sizeof(arr[0]); printf 指针数组模拟二维数组 #include <stdio.h> int main() { int arr1[] = {1,2,3,4,5}; int arr2[] = {2,3,4,5,6}; int arr3 这一部分指针已总结完,下一篇指针博客见。
14年Struts2报出Struts2的漏洞(2.0.0<=version<=2.3.15), 17年3月这次的S-045漏洞,被入侵者植入了后门程序, 1. Struts2的重定向漏洞 根据Apache给出的漏洞修复方案,只是升级了jar包版本2.3.16 升级完成后所有页面访问都出现了404,如下bug: There is no Action mapped 2. Struts2 OGNL的高危漏洞S-045 Struts使用的Jakarta解析文件上传请求包不当,当远程攻击者构造恶意的Content-Type,可能导致远程命令执行。 针对此问题做出如下修改: (1)根据Apache给出的漏洞修复方案,升级Struts2相关jar到2.3.32 (2)关于上传文件部分做出如下验证 <1>上传文件非空验证; <2>上传文件格式验证
比如: "sadabcdfghjkl" werabcdtyu" 2:StringBuffer (1)字符串的缓冲区,是一个容器。 (2)它和String的区别 它是缓冲区可变长度的。 (2)数组和集合都是容器,两者有何不同? (2)TreeSet: TreeSet要求往里面存的元素具备比较性,否则会报错。 { String s1 = (String)obj1; String s2 = (String)obj2; int num = new Integer(s1.length()).compareTo (new Integer(s2.length())); if(num==0) return s1.compareTo(s2); return num; } } class TreeSetTest
<html lang="en"> 2. <head> 3. <title>My Webpage</title> 4. </head> 5. <body> 6. 2)局部变量 可以使用with语句来创建一个内部的作用域,将set语句放在其中,这样创建的变量只在with代码块中才有效。 **号运算符:次幂运算符,比如2**3=8。 in操作符:跟python中的in一样使用,比如{{1 in [1,2,3]}}返回true。 六:Jiaja2模版最重要的部分——宏 宏相当于一个搭建好的页面一部分,可以被引入,可以往宏传递参数。 Jinja2拥有许多过滤器:(转自:http://www.jianshu.com/p/31a75d3d9270) abs(value):返回一个数值的绝对值。
同时也希望帮助和我一样在学习Retrofit2遇到困难的猿们。 当我在刚开始学习 Retrofit2 的时候并不知道Retrofit2是什么东西,后来逐渐了解 “它可能是一个方便我们网络请求的库 ,可以帮我们让请求网络变得更灵活、易于维护”。 先看看如何使用,如何进行一个简单的Get/Post请求 Retrofit2 入门 首先在build.gradle中添加如下代码,添加Retrofit2库 compile 'com.squareup.retrofit2 请继续看 Retrofit2 进阶 自动解析 其实在Retrofit2中,我们不用自己来解析数据,Retrofit2可以帮我们自动解析,怎么做呢? Retrofit2 大成 如果看到这里,相信对Retrofit2的基本请求会用了,那么这节就说一说其他的网络请求。
转换transform我们简单理解就是变形有2D和3D之分 ● 我们暂且学了三个分别是位移旋转和缩放 ● 2D移动translate(x, y)最大的优势是不影响其他盒子 ,里面参数用% .是相对于自身宽 可以分开写比如translateX(x)和translateY(y) 2D旋转rotate(度数)可以实现旋转元素 度数的单位是deg 2D缩放sacle(x,y)里面参数是数字不跟单位可以是小数最大的优势不影响其他盒子
概述 detectron2 大部分代码都需要GPU detectron2 主要是用于检测和分割的代码框架,像分类这种任务的代码暂时没有 官方示例有一些是基于Colab的,需要访问国外网站才能访问 安装依赖 sudo pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu100/index.html 如果文件下载太慢或者超时 测试 为了测试,需要下载 detectron2 的源代码,基于 demo/demo.py 进行简单的测试: git clone https://github.com/facebookresearch/detectron2 python3 detectron2/demo/demo.py --config-file detectron2/configs/COCO-InstanceSegmentation/mask_rcnn_R _50_FPN_3x/137849600/model_final_f10217.pkl 注意上述代码需要在 detectron2 的 git 仓库外面执行,否则会报错。
惯例 总结了一下 有六七个问题,这个技术水平比较高,问得问题 有几个我开发中都没有遇到过。这次面试感觉 没戏。。。 不过 失败乃成功之父。不气馁 面试官01问:解析json。 type类型,和 convertview 去实现复用, 这里如果type 很多 复用的话,在getview 方法里面要写很多 判断,假如 type==0 inflate 一个layout01,type==2 惯例 总结了一下 有六七个问题,这个技术水平比较高,问得问题 有几个我开发中都没有遇到过。这次面试感觉 没戏。。。 不过 失败乃成功之父。不气馁 面试官01问:解析json。 type类型,和 convertview 去实现复用, 这里如果type 很多 复用的话,在getview 方法里面要写很多 判断,假如 type==0 inflate 一个layout01,type==2
来源:SteveWang http://www.cnblogs.com/eniac12/p/5332117.html 上一篇总结了常用的比较排序算法,主要有冒泡排序,选择排序,插入排序,归并排序,堆排序 using namespace std; // 分类 ------------- 内部非比较排序 // 数据结构 --------- 数组 // 最差时间复杂度 ---- O(nlogn)或O(n^2)