![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法之数组
迎着风飞翔的IT
无论在人生的任何阶段,我们都应该不断地学习!!!
展开
-
java 一个数组循环右移K位
如何把一个数组循环右移K位 如:12345678 右移2位 78123456 思路如下: 1:首先逆序123456,那么数组变为65432178 2:再逆序78,那么数组变为65432187 3:最后逆序整个数组:65432187 ,那么数组变为78123456 那么如何逆序呢? 定义两个变量,begin和end,分别指向需要逆序的数组的起始位置, 通过临时变量temp,进行交换,直到be原创 2017-05-04 10:42:58 · 2525 阅读 · 1 评论 -
java 合并两个数组 三种解法
package datastruct.usearray;import java.util.Arrays;import java.util.LinkedList;/** * 合并两个数组 int a[]={0,1,5,6,7,9,14}; int b[]={2,4,8,10,13}; * */public class MergeTwoArray { //方法原创 2017-05-23 19:11:42 · 20141 阅读 · 0 评论 -
java 判断一个数组中的数值是否连续相邻
判断一个数组中的数值是否连续相邻 * 满足以下条件: * 1.0是例外可以反复出现 0可以通配任何字符 * 2.相同的数值不会重复出现 * 3.该数组可以是乱序的 * 当数组不含有0时满足最大值-最小值=n(数组长度)-1 * 当数组数组含有0时.满足最大值-最小值<n(数组长度)-1 * 所以,当最大值最大值-最小值>n(数组长度)-1时,一定不是连续相邻数组原创 2017-05-06 21:38:29 · 10029 阅读 · 1 评论 -
java 数组中两数之差的最大值 蛮力算法 动态规划及其优化
求解数组中两数之差的最大值 如:array={1,4,17,3,2,9} 最大值为:17-2=15原创 2017-05-05 16:11:07 · 1606 阅读 · 0 评论 -
java 求数组中重复元素最多的数 空间换时间解法 Map映射表法
找出数组中重复元素最多的数:两种方法:1.采用空间换时间:该方法浪费内存,建议不要使用 2.使用Map映射表原创 2017-05-03 21:18:13 · 517 阅读 · 0 评论 -
java如何求最大子数组的和 蛮力算法 动态规划算法
求解最大子数组的和五种解法,其中包含蛮力算法,以及其优化;动态规划算法,以及其优化算法原创 2017-05-03 13:47:51 · 1288 阅读 · 0 评论 -
java 数组中两两相加等于某个数的组合种数 蛮力解法 排序解法
求数组中两两相加等于某个数的组合中种数 下面提两种解法: 1.蛮力算法:时间复杂度为O(n^2) 2.排序法: 时间复杂度为O(logn) 对数组先进行排序,定义begin和end分别指向数组的 第一个元素和最后一个元素,分为以下三种情况: 1:若array[begin]+array[end]<某个数(number) 则 begin++,即为:begin向后移动一位 2:若array[begin]+array[end]>原创 2017-05-03 22:45:09 · 4451 阅读 · 0 评论 -
java 折半查找 非递归算法 递归算法
package datastruct.find;public class BinarySearch { //方法一:非递归折半查找: private static void binarySearch(int a[],int k) { int low=0; int high=a.length-1; int mid; while (low<=high) { mid=(原创 2017-05-20 11:13:49 · 1265 阅读 · 0 评论