本文源码:GitHub·点这里||GitEE·点这里一、递归算法递归就是方法自己调用自己,每次调用时传入不同的变量,可以让代码变得简洁。递归算法在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法,递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。基础案例:通过递归打印数据;publicclassM01_Recursion{publicstat
分类:
编程语言 时间:
2020-09-23 23:54:01
阅读次数:
37
importjava.util.Scanner;publicclassMain{publicstaticvoidsort(int[]arr,intleft,intright){if(left>=right){return;}intm=(left+right)>>>1;sort(arr,left,m);sort(arr,m+1,right);int[]tmp=newint[r
分类:
编程语言 时间:
2020-09-18 02:46:24
阅读次数:
36
1、创建文件 /home/zabbix/pvuv_number.sh 【 #/bin/bashuv_number(){ #/var/log/test_access.log 日志路径cat /var/log/test_access.log |awk '{print $1}'|sort|uniq|wc ...
分类:
其他好文 时间:
2020-09-18 01:13:05
阅读次数:
31
sort() 方法用于对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串UniCode码。因为排序是按照字符串UniCode码的顺序进行排序的,所以首先应该把数组元素都转化成字符串(如有必要),以便进行比较。 语法:arrayObject.sort(sortby); 参数sortby 可选, ...
分类:
编程语言 时间:
2020-09-17 23:57:50
阅读次数:
45
设散列表有m个存储单元, 散列表函数H(key) = key % p, 则p最好选择 小于等于m的最大素数 具有3个节点的二叉树有 5种 以下排序算法是不稳定排序算法 希尔排序 快速排序 选择排序 堆排序 以下代码的时间复杂度 int foo(int n){ if(n <= 1) return 1; ...
分类:
Web程序 时间:
2020-09-17 23:24:09
阅读次数:
42
问题描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], tar ...
分类:
编程语言 时间:
2020-09-17 21:50:55
阅读次数:
30
题目: 给你一个整数数组 nums,请你将该数组采用选择排序方式进行升序排列。 算法描述: 选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序 ...
分类:
编程语言 时间:
2020-09-17 15:32:29
阅读次数:
29
#Sequence in the Pocket ###题目大意 给定一个序列,每次可以把一个元素移到列首(最左边),求最少移几次使其有序(非降序)。 ###题目分析: 我们将输入的数组复制一份进行排序,然后从后往前寻找有多少元素在原数组保持有序,用总的元素个数减去有序的个数就是我们需要移动的次数。 ...
分类:
其他好文 时间:
2020-09-17 12:57:01
阅读次数:
25
二叉堆是一种完全二叉树,我们可以使用列表来方便存储,也就是说,用列表将树的所有节点存储起来。 如下图,是小根堆方式的二叉堆,假设父节点的下标为p,则他的左孩子下标为2P+1,右孩子下标为2P+2 class BuildHeap: """构建一个小根堆二叉树 预先定义一个下标为0的元素,实际没有用途, ...
分类:
编程语言 时间:
2020-09-17 12:53:31
阅读次数:
30