Amp

java实现冒泡排序

…衆ロ難τιáo~ 提交于 2020-07-28 08:06:06
冒泡排序: 算法重复走访要排序的数列,一次比较两个元素,如果它们顺序错误就交换它们的位置,这样最大的数就到了最后,重复操作即可得到有序数列。 冒泡排序算法运行: 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3. 针对所有的元素重复以上的步骤,除了最后一个。 4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 代码实现: public static void main(String[] args) { int[] values = { 3, 1, 6, 2, 9, 0, 7, 4, 5, 8 }; bubbleSort(values); System.out.println(Arrays.toString(values)); } public static void bubbleSort(int[] values) { int temp; for (int i = 0; i < values.length; i++) { for (int j = 0; j < values.length - 1 - i; j++) { //减i原因:内层循环,每循环完一趟就在数组末产生一个最大数,即最大数就不用比较了。 if (values[j] >

【bWAPP】0X03 HTML Injection

非 Y 不嫁゛ 提交于 2020-07-28 08:02:55
HTML注入-存储型 这是一个存储型的漏洞,有一个留言功能,可以尝试xss弹窗 在level low下 输入<script>alert(/bee/)</script>后点击提交,就会执行该语句并显示弹窗 也可以读取用户cookie,<script>alert(document.cookie)</script> 根据源码找到了数据存储的地方 (已经被我删了) 在查看源码后,三个级别都使用了sqli_check_3函数进行语句转义 下列字符受影响: \x00 \n \r \ ' " \x1a 如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。 当设置等级为medium时,调用xss_check_4进行防xss保护 1 function xss_check_4( $data ) 2 { 3 // addslashes - returns a string with backslashes before characters that need to be quoted in database queries etc. 4 // These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte). 5 // Do NOT use this for

python讀取和寫入caffe-ssd中lmdb data

↘锁芯ラ 提交于 2020-07-28 08:02:36
原文: https://zhuanlan.zhihu.com/p/76318150 lmdb是Cafffe中应用的一种数据库,采用内存-映射文件(memory-mapped files),拥有非常好的I/O性能,而AnnotatedDatum是caffe在LMDB数据库上保存数据的一种格式,主要用于SSD等目标检测模型训练数据的保存。 在SSD-caffe的官方代码中(好像不算官方,是第三方实现的),模型训练是通过自定义层读取读取LMDB数据库文件进行数据导入的,而指定格式的LMDB数据则是通过两个脚本调用C++库生成,查阅代码后发现对应C++库只能读取图像文件,而笔者的训练数据格式特殊,要想生成对应的LMDB文件就必须改caffe的代码并编译,或者自己写一个工具来生成LMDB文件,毫无疑问后者更简单,因此 本文主要内容是如何在Python下生成正确格式的LMDB数据以用于训练 ,以下正文。 首先我们按照官方的脚本生成了正确格式的lmdb文件,然后通过代码读取进来查看它的结构 import lmdb import numpy as np import cv2 from caffe.proto import caffe_pb2 lmdb_env = lmdb.open('VOC0712_test_lmdb') lmdb_txn = lmdb_env.begin() # 生成处理句柄

MySql 8.0对应的驱动包

爱⌒轻易说出口 提交于 2020-07-28 07:48:30
MySql8.0及以上对应的应用程序数据库链接驱动包要更新为8.0版本,否则会报驱动异常。 Maven配置: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> JDBC配置: #mysql database settings jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false jdbc.username=test jdbc.password=test 来源: oschina 链接: https://my.oschina.net/u/4253180/blog/4312502

第七章-排序 插入排序

大城市里の小女人 提交于 2020-07-28 06:08:29
#include <stdio.h> #include "tool.h" /* 简单插入排序算法: 1.把待排序队列分成,已排序、未排序两部分。一开始已排序部分元素个数为0 2.然后从待排序队列中取出第一个元素与已排序队列元素最后一个元素比较 如果小于,则交换。然后依次向前比较,直到大于等于前一个元素。 算法复杂度:O(N^2) */ void simpleInsertSort(int a[], int len) { int i, j; for (i = 1; i < len; i++) { int tmp = a[i]; for (j = i; j > 0 && a[j-1] > tmp; j--) { a[j] = a[j - 1]; } a[j] = tmp; } } int main() { int a[10] = { 9,1,8,5,7,6,4,3,10,2 }; int len = sizeof(a) / sizeof(a[0]); printf("排序前: "); printfArray(a, len); simpleInsertSort(a, len); printf("排序后: "); printfArray(a, len); return 0; } 来源: oschina 链接: https://my.oschina.net/u/568675/blog

WPF界面开发技巧放送:Data Grid

最后都变了- 提交于 2020-07-28 06:06:17
下载DevExpress v20.1完整版 通过 DevExpress WPF Controls ,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF Data Grid v20.1附带了对虚拟数据源支持的重要增强。 数据编辑 您的用户现在可以在行级别编辑数据,用户可以修改行值,然后按Update将更改发布到基础数据源。 要启用数据编辑: 1. 将可编辑列的AllowEditing属性设置为true。 2. 启动 Edit Entire Row 模式。 3. 处理ValidateRow事件,并将更改保存到基础数据源(数据库)。 若要异步保存更改,请将 e.UpdateRowResult 属性设置为保存更改的任务。 <dxg:GridControl x:Name="grid"> <dxg:GridControl.Columns> <dxg:GridColumn FieldName="Subject" IsSmart="True" AllowEditing="true"/> <dxg:GridColumn FieldName="User" IsSmart="True" AllowEditing="true"/> <dxg:GridColumn FieldName="Created"

Dubbo博客

与世无争的帅哥 提交于 2020-07-28 05:38:34
https://my.oschina.net/u/4052033?tab=newest&catalogId=6853760 来源: oschina 链接: https://my.oschina.net/u/3847203/blog/4320418

大牛都是这样写测试用例的,你get到了嘛?

杀马特。学长 韩版系。学妹 提交于 2020-07-28 04:07:15
1. 用于语句覆盖的基路径法 基路径法保证设计出的测试用例,使程序的每一个可执行语句至少执行一次,即实现语句覆盖。基路径法是理论与应用脱节的典型,基本上没有应用价值,读者稍作了解即可,不必理解和掌握。 基路径法步骤如下: 1)画出程序的控制流图 控制流图是描述程序控制流的一种图示方法,主要由结点和边构成,边代表控制流的方向,节点代表控制流的汇聚处,边和结点圈定的空间叫做区域,下面是控制流图的基本元素: 以下代码: ``` void Sort(int iRecordNum, int iType) { int x = 0; int y = 0; while(iRecordNum-- > 0) { if(0 == iType) { x = y+2; break; } elseif(1 == iType) { x = y+10; } else { x = y+ 20; } } } ``` 可以画出以下控制流图: 2)计算程序环路复杂度 环路复杂度V(G)可用以下3种方法求得: (1) 环路复杂度等于控制流图中的区域数; 上图中,有4个区域,V(G) = 4。 (2) 设E为控制流图的边数,N为结点数,则环路复杂度为E-N+2; 上图中,V(G) = 10(边) – 8(结点) + 2 = 4。 (3) 设P为控制流图中的判定结点数,环路复杂度为P+1。 上图中:V(G) = 3(判定结点)

mysql 建立SSL连接问题,设置useSSL=false显式禁用SSL,或者设置useSSL=true

南笙酒味 提交于 2020-07-28 04:06:29
you need either to explicitly disable ssl by setting usessl=false, or set usessl=true and provide trustsore for server certificate verification 警告:不建议在未经服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,如果未设置显式选项,则默认情况下必须建立SSL连接。为了符合不使用SSL的现有应用程序,verifyServerCertificate属性设置为“false”。您需要通过设置useSSL=false显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储 处理办法 第一种处理办法 jdbcUrl=jdbc:mysql://localhost:3306/zht?useUnicode=true&characterEncoding=utf-8&useSSL=false 1 1.先将mysql-connector-java的版本改到5.5.45之下 2.再将jdbcUrl改成如下 jdbcUrl=jdbc:mysql://localhost:3306/zht?useUnicode=true&characterEncoding=utf-8 1 第二种处理办法

日语初学者,日语五十音入门,学习五十音图三步走

萝らか妹 提交于 2020-07-28 03:43:25
很多人出于对动漫、日剧或是偶像的喜爱开始学习日语,但能坚持下来的人却并不多,有的人甚至在日语入门学习阶段就打退堂鼓,在兴趣的指引下学习固然有利,但掌握正确的方法也是必不可少,分享日语入门之学习五十音图三步走,希望能帮助到正在学习五十音的人 第一步:认识五十音 首先要明白所谓学习五十音究竟是学习哪些内容。 日语小知识https://sourl.cn/Pzx2Sb(复制打开) 仔细观察上图便可以发现,五十音其实并不是50个音,因为一些重复假名的出现,实际学习的只有46个音。而每个音又包括平假名和片假名两种写法,所以掌握五十音图也就意味着我们要掌握46个读音和92个假名的写法,且读音与写法要一一对应。 有一个整体概念,有助于明确学习目标,不容易因为一上来就死记硬背而半途而废。 第二步:制定&执行学习计划 在有了一个整体概念后,就需要制定学习计划。比较常见的是将每一行的5个假名作为一组进行学习。 *目标天数:10天 *每日学习数量:一行5个假名 *每日学习内容:①读音②平假名与片假名写法③读音与写法对应记忆④复习昨日内容 在这里也推荐一些具体的记忆方法: 联想记忆:日语假名来自于我们的汉字,因此假名包含了汉字的很多特征。例如日语中「あ」来自汉字“安”,「い」来自汉字“以”。在学习假名时联想汉字来源会帮助我们在更短的地时间内掌握假名。 感官记忆:自学五十音图时最重要的是做到心口同一