sort

nginx日志统计教程

為{幸葍}努か 提交于 2020-01-24 10:47:19
1.根据访问IP统计UV awk '{print $1}' access.log|sort | uniq -c |wc -l 2.统计访问URL统计PV awk '{print $7}' access.log|wc -l 3.查询访问最频繁的URL awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more 4.查询访问最频繁的IP awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more 5.根据时间段统计查看日志 cat access.log| sed -n '/15\/Jan\/2020:11:25:49/,/15\/Jan\/2020:11:26:00/p' |more 来源: CSDN 作者: 寻找09之夏 链接: https://blog.csdn.net/qq_34272964/article/details/103986610

[算法]——归并排序(Merge Sort)

那年仲夏 提交于 2020-01-24 02:36:47
归并排序 (Merge Sort)与快速排序思想类似:将待排序数据分成两部分,继续将两个子部分进行递归的归并排序;然后将已经有序的两个子部分进行合并,最终完成排序。其时间复杂度与快速排序均为O(nlogn),但是归并排序除了递归调用间接使用了辅助空间栈,还需要额外的O(n)空间进行临时存储。从此角度归并排序略逊于快速排序,但是归并排序是一种稳定的排序算法,快速排序则不然。 所谓 稳定排序 ,表示对于具有相同值的多个元素,其间的先后顺序保持不变。对于基本数据类型而言,一个排序算法是否稳定,影响很小,但是对于结构体数组,稳定排序就十分重要。例如对于student结构体按照关键字score进行非降序排序: // A structure data definition typedef struct __Student { char name[16]; int score; }Student; // Array of students name : A B C D score: 80 70 75 70 Stable sort in ascending order: name : B D C A score: 70 70 75 80 Unstable sort in ascending order: name : D B C A score: 70 70 75 80

HDU 1177 Accepted today? 利用sort排序字符串,出现WA

大兔子大兔子 提交于 2020-01-23 10:26:44
HDU 1177 Accepted today? 利用sort排序字符串,出现WA 题目如下 简述为:输入 参赛人数 金牌数 银牌数 铜牌数 您是第几个 以及各个数据,输出你获得的奖牌是什么。 排列规则为,通过题目数目越多,排名越高,相同情况下,时间短的排名高。 “Accepted today?” Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3734 Accepted Submission(s): 1646 Problem Description Do you remember a sentence “Accepted today?” Yes, the sentence is mentioned frequently in lcy’s course “ACM Programming”! The contest is still in progress this moment. How excited it is! You, smart programmer, must have AC some problems today. “Can I get copper medal, silver medal, or even

PAT A1098 Insertion or Heap Sort

南笙酒味 提交于 2020-01-23 07:04:38
# include <stdio.h> # include <stdlib.h> //为了方便起见,数组下标从1开始 int stepi ( int a [ ] , int n ) //n为数组长度 { int count = 0 ; int x = a [ 1 ] ; for ( int i = 2 ; i <= n ; i ++ ) { if ( a [ i ] >= x ) { count ++ ; x = a [ i ] ; } else break ; //需要使用break跳出 } return count ; } //返回序列中已经有序的前count+1个数字的长度count+1 int flag ; //用于判断为何种类型的sort 初始化为0 void swap ( int * a , int * b ) { int temp = * a ; * a = * b ; * b = temp ; } int isinsert ( int a [ ] , int b [ ] , int n ) { for ( int i = 1 ; i <= n ; i ++ ) { if ( a [ i ] != b [ i ] ) return 0 ; //从 } return 1 ; } void Insertsort ( int a [ ] , int n , int

leetcode 80 Remove Duplicates from Sorted Array II

家住魔仙堡 提交于 2020-01-23 00:58:16
题目链接 https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/ 题目原文 Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For example, Given sorted array nums = [1,1,1,2,2,3] , Your function should return length = 5 , with the first five elements of nums being 1 , 1 , 2 , 2 and 3 . It doesn't matter what you leave beyond the new length. 题目大意 给定一个排好序的数组。修改这个数组使得每个数最多可以出现两次。返回去掉多余重复数组后的长度length 后面一直出错,研究了下别人的答案才意识到题目还有一个要求,就是要把排序后的数组依旧保存到原nums[]数组中,要保证前length位的nums里面存的数就是已经排序后的数据。 比如【1,1,1,2,2,3,4】返回去重后数组个数6,去重后的nums的前6位应该是【1,1,2,2,3,4】,另外保存到一个数组中会报错

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

谁说我不能喝 提交于 2020-01-23 00:28:53
让面试官满意的排序算法(图文解析) 这种排序算法能够让面试官面露微笑 这种排序算法集各排序算法之大成 这种排序算法逻辑性十足 这种排序算法能够展示自己对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 他们的取值范围非常的大,不适合使用计数排序

Python排序算法(六)——归并排序(MERGE-SORT)

半世苍凉 提交于 2020-01-22 20:16:17
有趣的事,Python永远不会缺席! 如需转发,请注明出处: 小婷儿的python https://www.cnblogs.com/xxtalhr/p/10800699.html 一、归并排序(MERGE-SORT)概念   归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序适用于子序列有序的数据排序。 1、原理   归并排序是分治法的典型应用。分治法(Divide-and-Conquer):将原问题划分成 n 个规模较小而结构与原问题相似的子问题;递归地解决这些问题,然后再合并其结果,就得到原问题的解。从上图看分解后的数列很像一个二叉树。 归并排序采用分而治之的原理: 将一个序列从中间位置分成两个序列; 在将这两个子序列按照第一步继续二分下去; 直到所有子序列的长度都为1,也就是不可以再二分截止。这时候再两两合并成一个有序序列即可。                原理如上图,图片来源于https://blog.csdn.net/su_bao/article/details/81053871 2、举例 对以下数组进行归并排序:  [11, 99, 33 , 69, 77, 88, 55, 11, 33, 36,39, 66, 44, 22]   2. 首先,进行数组分组,即

shell命令--sort

此生再无相见时 提交于 2020-01-22 18:12:14
shell命令--sort 0、sort命令的专属图床 点此快速打开文章 【 图床_shell命令sort 】 1、sort命令的功能说明 ​ sort 命令用于将文本文件内容加以排序。 sort 可针对文本文件的内容,以行为单位来排序。 2、sort命令的语法格式 SYNOPSIS sort [OPTION]... [FILE]... sort [OPTION]... --files0-from=F 3、sort命令的选项说明 -b: 忽略每行前面开始出的空格字符。 -c: 检查文件是否已经按照顺序排序。 -d: 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 -f: 排序时,将小写字母视为大写字母。 -i: 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 -m: 将几个排序好的文件进行合并。 -M: 将前面3个字母依照月份的缩写进行排序。 -n: 依照数值的大小排序。 -u: 意味着是唯一的(unique),输出的结果是去完重了的。 -o: 将排序后的结果存入指定的文件。 -r: 以相反的顺序来排序。 -t: 指定排序时所用的栏位分隔字符。 +-: 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 --help: 显示帮助。 --version: 显示版本信息。 4、sort命令的实践操作 范例1:在使用 sort

1098 Insertion or Heap Sort (25分)

折月煮酒 提交于 2020-01-22 15:39:39
堆排序:先建堆,每次从堆顶拿出一个元素,放到堆的末尾,然后调整堆的大小(-1),将调整大小后的堆的最后一个元素放到堆顶,然后将该堆顶元素下滤,再次将数组调整为堆。 为了让下滤操作不越界,将数组开得较大,并且初值设为int最小值。 #include < cstdio > #include < vector > #include < algorithm > using namespace std ; const int MIN = 0x80000000 ; int n ; vector < int > initial ( 200 ) , partial ( 200 ) ; bool check ( vector < int > v ) { for ( int i = 0 ; i < n ; i ++ ) { if ( v [ i ] != partial [ i ] ) return false ; } return true ; } bool isInsertionSort = false ; void insertionSort ( vector < int > v ) { for ( int i = 1 ; i < n ; i ++ ) { int temp = v [ i ] , pos = i ; //v[i]插入位置 while ( pos > 0 && v [ pos -

B1035 插入与归并

柔情痞子 提交于 2020-01-22 10:22:30
根据维基百科的定义: 插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。 归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。 现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排序算法? 输入格式: 输入在第一行给出正整数 N ( ≤100);随后一行给出原始序列的 N 个整数;最后一行给出由某排序算法产生的中间序列。这里假设排序的目标序列是升序。数字间以空格分隔。 输出格式: 首先在第 1 行中输出 Insertion Sort 表示插入排序、或 Merge Sort 表示归并排序;然后在第 2 行中输出用该排序算法再迭代一轮的结果序列。题目保证每组测试的结果是唯一的。数字间以空格分隔,且行首尾不得有多余空格。 输入样例 1: 10 3 1 2 8 7 5 9 4 6 0 1 2 3 7 8 5 9 4 6 0 输出样例 1: Insertion Sort 1 2 3 5 7 8 9 4 6 0 输入样例 2: 10 3 1 2 8 7 5 9 4 0 6 1 3 2 8 5 7 4 9 0 6 输出样例 2: Merge Sort 1 2 3 8 4