题解: 这道题用传统快排(如下所示)的结果就是最后三个点TLE: 如果永远取第一个元素作为枢轴的话,在数组已经有序的情况下每次划分都将得到最坏的结果,时间复杂度退化为O(n^2)。因为其中一个子序列每次都只比原序列少一个元素,该侧的递归深度将达到最大。 #include<iostream>using ...
分类:
编程语言 时间:
2020-02-07 12:48:23
阅读次数:
62
取出数组中最大值或最小值是开发中常见的需求,今天继续讲解如何获取javascript数组中最大和最小值。 1.排序法 首先我们给数组进行排序,可以按照从小到大的顺序来排,排序之后的数组中第一个和最后一个就是我们想要获取的最小值和最大值。 排序我们会用到数组的 sort 方法。 2.假设法 假设当前数 ...
分类:
编程语言 时间:
2020-02-07 11:12:13
阅读次数:
85
1 """ 2 Given an array A of non-negative integers, half of the integers in A are odd, and half of the integers are even. 3 Sort the array so that when ...
分类:
其他好文 时间:
2020-02-06 23:03:15
阅读次数:
84
「SCOI2012」喵星球上的点名 填一个很久以前用 $\texttt{AC}$ 自动机没填上的坑。 关于本题,能够通过本题的算法很多,这里作者采用的是后缀数组+树状数组的做法。 首先有一个显然的结论:若 $s_2$ 是 $s_1$ 的子串,则 $s_1$ 一定存在一个后缀与 $s_2$ 的最长公共 ...
分类:
其他好文 时间:
2020-02-06 16:39:23
阅读次数:
72
Sub paixu() Range("A3:p26").Select Selection.Sort Key1:=Range("F7"), Order1:=xlAscending, Key2:=Range("G7") _ , Order2:=xlAscending, Key3:=Range("C3") ...
分类:
编程语言 时间:
2020-02-06 16:10:17
阅读次数:
78
插入排序(Insertion Sort)的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空... ...
分类:
编程语言 时间:
2020-02-06 13:05:20
阅读次数:
68
题目: 用tcpdump嗅探80端口的访问 答案: sudo tcpdump -i ens33 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | head -n ...
分类:
系统相关 时间:
2020-02-06 12:51:35
阅读次数:
83
题目: 获取前10个time_wait连接最多的IP地址 答案: netstat -n | grep TIME_WAIT | awk '{print $5}' | uniq -c | sort -nr | head -n10 ...
分类:
系统相关 时间:
2020-02-06 12:31:36
阅读次数:
69
源程序: 用三种排序:冒泡排序,直接插入排序,直接选择排序 #include <iostream>#define N 5using namespace std; template <typename T>//冒泡排序 /*void bubble_sort(T a[], int n){ int i, ...
分类:
其他好文 时间:
2020-02-06 11:01:08
阅读次数:
77
排序。更naive的方法是用set。 class Solution: def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: result = [] nums1.sort() nums2.sort() i = ...
分类:
其他好文 时间:
2020-02-06 10:44:04
阅读次数:
47