sort

Spring Boot集成SpringFox Swagger的Pageable参数问题

五迷三道 提交于 2020-01-07 15:29:14
Spring Boot项目中常使用springfox-swagger来生成REST API文档,使用springfox-swagger-ui进行API测试。 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.8.0</version> </dependency> REST API方法的参数含有org.springframework.data.domain.Pageable时,如未进行其它配置,Swagger根据接口Pageable的get/is方法生成了pageNumber、pageSize、offset、paged、unpaged、sort.sorted、sort.unsorted等参数,但实际上这些参数是无效的。 @ApiOperation(value = "Find airlines") @GetMapping(value = "/airlines") public

【深度学习】用Keras实现word2vec的CBOW模型

久未见 提交于 2020-01-07 08:37:48
前言   尽管gensim里的word2vec已经非常好用,但用别人的模型始终难以直接解决自己的问题,于是去搜有没有直接能用的Keras版,找到了两版,分别为: 版本1: keras训练word2vec代码 版本2: 【不可思议的Word2Vec】6. Keras版的Word2Vec   两位写的都很好,版本1代码上可以直接上手,版本2框架更清晰,但两位大佬的数据集都是基于多篇文章的,版本1是从微信接口里拿的,但我连接不上服务器;版本二的数据集未给,然后面向对象的写法本人不是很熟就不好改。于是就在学习版本框架理论的同时,在版本1上进行更改。   最终形成在单个文本内进行词向量训练。 数据   随便一个utf-8的中文文档就行,我这里为了求快,节选了 《天龙八部》 的第一章,记得改下编码utf-8。 停用词   也是网上扒的停用词,据说非常全, 最全中文停用词表整理(1893个) 。 def stopwordslist ( ) : #设置停用词 stopwords = [ ] if not os . path . exists ( './stopwords.txt' ) : print ( '未发现停用词表!' ) else : stopwords = [ line . strip ( ) for line in open ( 'stopwords.txt' , encoding =

[LeetCode] 280. Wiggle Sort

怎甘沉沦 提交于 2020-01-07 03:36:41
摆动排序。题意是给一个数组,请按照如下的方式重新排序。 nums[0] <= nums[1] >= nums[2] <= nums[3]... 例子,对于这样的数组,排序前后长这样。 Input: nums = [1, 5, 1, 1, 6, 4] Output: One possible answer is [1, 4, 1, 5, 1, 6]. 思路很简单,就是按照规则比较数字之间的大小关系。代码如下 时间O(n) 空间O(1) 1 /** 2 * @param {number[]} nums 3 * @return {void} Do not return anything, modify nums in-place instead. 4 */ 5 var wiggleSort = function(nums) { 6 for (let i = 1; i < nums.length; i++) { 7 if ( 8 (i % 2 === 1 && nums[i] < nums[i - 1]) || (i % 2 === 0 && nums[i] > nums[i - 1]) 9 ) { 10 let temp = nums[i - 1]; 11 nums[i - 1] = nums[i]; 12 nums[i] = temp; 13 } 14 } 15 }; 来源:

算法学习?挑战高薪的必经之路!让面试官满意的排序算法(图文解析)

我的梦境 提交于 2020-01-07 01:09:43
让面试官满意的排序算法(图文解析) 这种排序算法能够让面试官面露微笑 这种排序算法集各排序算法之大成 这种排序算法逻辑性十足 这种排序算法能够展示自己对Java底层的了解 这种排序算法出自Vladimir Yaroslavskiy、Jon Bentley和Josh Bloch三位大牛之手,它就是JDK的排序算法——java.util.DualPivotQuicksort(双支点快排) 想看以往学习内容的朋友 可以看我的GitHub: https://github.com/Meng997998/AndroidJX 觉得文章枯燥的朋友,可以看视频学习 DualPivotQuicksort 先看一副逻辑图(如有错误请大牛在评论区指正) 插排指的是改进版插排—— 哨兵插排 快排指的是改进版快排—— 双支点快排 DualPivotQuickSort没有Object数组排序的逻辑,此逻辑在Arrays中,好像是归并+Tim排序 图像应该很清楚:对于不同的数据类型,Java有不同的排序策略: byte、short、char 他们的取值范围有限,使用计数排序占用的空间也不过256/65536个单位,只要排序的数量不是特别少(有一个计数排序阈值,低于这个阈值的话就没有不要用空间换时间了),都应使用计数排序 int、long、float、double 他们的取值范围非常的大,不适合使用计数排序

C++ sort函数的用法

邮差的信 提交于 2020-01-05 12:35:44
C++ sort函数的用法 STL有个排序函数sort,可以直接对数组和向量排序。 一、功能: 给定区间所有元素进行排序 二、头文件: #include <algorithm> 三、sort函数的参数: 可以传两个参数或三个参数。 第一个参数: 要排序的区间首地址, 第二个参数: 区间尾地址的下一地址。也就是说,排序的区间是[a,b)。 例如:数组int a[100],sort(a,a+100)是对从a[0]到a[99]的元素进行排序,默认的排序方式是升序。 对向量v排序:sort(v.begin(),v.end()); 排序的数据类型不局限于整数,只要是定义了小于运算的类型都可以,比如字符串类string。 第三参数:比较函数。如果是没有定义小于运算的数据类型,或者想改变排序的顺序,就要用到第三参数的比较函数。比较函数是一个自己定义的函数,返回值是bool型,它规定了什么样的关系才是“小于”。 四、排序方法: 1、整数数组降序排序 定义一个比较函数: bool cmp(int a, int b) { return a>b; } 排序: sort(a,a+100,cmp); 2、结构体数组排序 例如: 如下结构体node数组 struct node{ int a; int b; double c;} node arr[100], 要求对数组arr进行排序:先按a值升序排列

winform 分页控件

久未见 提交于 2020-01-04 05:57:11
以前都是从事B/S开发,由于公司有个比较大的C/S项目,在使用DATAGRIDVIEW的时候,显示数据量比较大,所以才用分页模式,也不知道这样是否正确。 想找个C/S下面的分页控件,都没有什么好的,就自己跟B/S下的分页控件,修改成WINFORM下面的。 首先创建一个用户控件名称为pager,在控件中拖入bindingNavigator和bindingSource,修改bindingNavigator,加入必要的一些控件。 效果如下: 代码实现如下: namespace WindowsApp.MyControl { /**/ /// <summary> /// 申明委托 /// </summary> /// <param name="e"></param> /// <returns></returns> public delegate int EventPagingHandler(EventPagingArg e); /**/ /// <summary> /// 分页控件呈现 /// </summary> public partial class Pager : UserControl { public Pager() { InitializeComponent(); } public event EventPagingHandler EventPaging; /**/ ///

java数据结构之排序

不想你离开。 提交于 2020-01-03 05:05:04
写在前面的话:本篇文章是我自己阅读程杰老师的大话数据结构之后自己所做的总结,网上有很多关于排序的详细介绍,我推荐 伍迷家园 所写的文章,介绍的非常详细。 排序是我们在程序中经常要用到的一种算法,好的排序可以极大的提高我们的工作效率,本篇主要介绍几种常见的排序算法; (简单说明: 下面的java程序是用来排序的,其中sum为排序数组,sum[0]不进行排序,只作为哨兵或者临时变量) 1、冒泡排序: 冒泡排序是一种交换排序,其的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 1 //冒泡排序2 最正宗的冒泡排序,i每循环一次,最小的数就像气泡一样慢慢浮到水面上 2 public static void BubbleSort_2(int[] num){ 3 for(int i = 1; i < num.length; i++){ 4 for(int j = num.length-1; j > i; j--){ 5 if(num[j-1] > num[j]){ 6 Swap(num,j-1,j); //交换函数 交换num[j-1]和num[j]的值 7 } 8 } 9 } 10 } 2、选择排序: 简单选择排序法(Simple Selection Sort)就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1≤i≤n

wiki搬运,排序算法

天大地大妈咪最大 提交于 2020-01-03 05:02:35
稳定的排序 [ 编辑 ] 冒泡排序 (bubble sort)— {\displaystyle O(n^{2})} 插入排序 (insertion sort)— {\displaystyle O(n^{2})} 鸡尾酒排序 (cocktail sort)— {\displaystyle O(n^{2})} 桶排序 (bucket sort)— {\displaystyle O(n)} ;需要 {\displaystyle O(k)} 额外空间 计数排序 (counting sort)— {\displaystyle O(n+k)} ;需要 {\displaystyle O(n+k)} 额外空间 归并排序 (merge sort)— {\displaystyle O(n\log n)} ;需要 {\displaystyle O(n)} 额外空间 原地 归并排序 — {\displaystyle O(n\log ^{2}n)} 如果使用最佳的现在版本 二叉排序树 排序(binary tree sort)— {\displaystyle O(n\log n)} 期望时间; {\displaystyle O(n^{2})} 最坏时间;需要 {\displaystyle O(n)} 额外空间 鸽巢排序 (pigeonhole sort)— {\displaystyle O(n+k)} ;需要

面试准备(算法部分)

断了今生、忘了曾经 提交于 2020-01-03 04:58:40
No.1 冒泡排序 冒泡排序无疑是最为出名的排序算法之一,从序列的一端开始往另一端冒泡(你可以从左往右冒泡,也可以从右往左冒泡,看心情),依次比较相邻的两个数的大小(到底是比大还是比小也看你心情)。 冒泡排序动图演示 图解冒泡排序 以 [ 8,2,5,9,7 ] 这组数字来做示例,上图来战: 从左往右依次冒泡,将小的往右移动 冒泡排序1 首先比较第一个数和第二个数的大小,我们发现 2 比 8 要小,那么保持原位,不做改动。位置还是 8,2,5,9,7 。 指针往右移动一格,接着比较: 冒泡排序2 比较第二个数和第三个数的大小,发现 2 比 5 要小,所以位置交换,交换后数组更新为:[ 8,5,2,9,7 ]。 指针再往右移动一格,继续比较: 冒泡排序3 比较第三个数和第四个数的大小,发现 2 比 9 要小,所以位置交换,交换后数组更新为:[ 8,5,9,2,7 ] 同样,指针再往右移动,继续比较: 冒泡排序4 比较第 4 个数和第 5 个数的大小,发现 2 比 7 要小,所以位置交换,交换后数组更新为:[ 8,5,9,7,2 ] 下一步,指针再往右移动,发现已经到底了,则本轮冒泡结束,处于最右边的 2 就是已经排好序的数字。 通过这一轮不断的对比交换,数组中最小的数字移动到了最右边。 接下来继续第二轮冒泡: 冒泡排序5 冒泡排序6 冒泡排序7 由于右边的 2 已经是排好序的数字

对排序(Sort)的研究

点点圈 提交于 2020-01-03 04:58:16
这一篇主要是介绍一些数据排序的基本算法和高级算法并利用JavaScript来逐一实现, 算法的说明: 稳定:如果a原本在b前面,当a=b时,排序之后a仍然在b的前面 不稳定:如果a原本在b的前面,当a=b时,排序之后a可能会出现在b的后面 内排序:所有排序操作都在内存中完成 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行 时间复杂度:一个算法执行所耗费的时间 空间复杂度:运行完一个程序所需内存的大小 基本排序算法: 1.冒泡排序(BubbleSort) 比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样最终最大数被交换到最后的位置 除了最后一个元素以外,针对所有的元素重复以上的步骤 重复步骤1~3,直到排序完成 //冒泡排序 function bubbleSort ( data ) { var temp = 0; for ( var i = data.length ; i > 0 ; i -- ){ for( var j = 0 ; j < i - 1 ; j++){ if( data[j] > data[j + 1] ){ temp = data[j]; data[j] = data [j+ 1]; data[j+ 1] = temp; } } } return data;