基础算法
Duuuhs
这个作者很懒,什么都没留下…
展开
-
二分查找(折半查找)
适用范围: 数组有序 在有序且数组元素庞大的情况下查找的速度比较快 要求: 查找某个有序数组中是否包含某个指定,存在返回该数,不存在返回-1. 代码如下: public static int BinarySearch(int target, int[] arr){ int left = 0; int right = arr.length-1; w...原创 2019-04-10 14:08:33 · 172 阅读 · 0 评论 -
二分法的延伸算法题
ps:本题源自牛客网剑指offer。 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 讲解: 这个可以理解为二分法的变形题目,有序数组选择一个元素作为轴进行左右互...原创 2019-04-10 17:44:41 · 297 阅读 · 0 评论 -
快速排序的Java实现
首先先看一下快速排序的百度百科解释: 快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 思路: 以一个数为基准数(一般...原创 2019-04-18 15:43:52 · 144 阅读 · 0 评论 -
背包问题
本体来源于牛客网试题广场。 题目描述: 牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。 牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。 牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也算一种放法)。 输入描述: 输入包括两行 第一行为两个正整数n和w(1 <= n <= 30, 1 <= w <...原创 2019-04-23 21:06:03 · 252 阅读 · 0 评论