
数组有关的算法
qiannuo_
这个作者很懒,什么都没留下…
展开
-
int型数组,找出2数之和为k的数对(百度测试开发面试题)
1.先排序(考虑时间复杂度)2.设置前后指针import java.util.Arrays;public class Sum_k { public static void main(String[] args){ int[] a={3,6,2,9,1,10,7,8,12,24,15,19}; int k=20; sum_k(a,...原创 2018-11-12 23:03:34 · 694 阅读 · 0 评论 -
数组中出现次数超过一半的数字
题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解题思路:1.遍历数组,利用hashmap记录每个数字以及数字出现的次数。时间复杂度为O(n)import java.util.HashMap;public ...原创 2018-11-18 22:09:48 · 163 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面,相对位置不变
利用直接插入排序的思想,从第2个元素开始遍历,若是遇到奇数就往前插入,插入位置为前面已经排好序的序列中,最后一个奇数的后面。public class ReOrder { public static void main(String[] args){ int[] arr={3,4,5,6,7,8,9,10,11}; new ReOrder().reOrd...原创 2018-11-14 22:39:51 · 867 阅读 · 0 评论 -
几种排序算法
真实开发中,用Arrays.sort(arr)1、选择排序选择最小的元素放在第一个位置,接着对不包括第一个记录以外的其他元素进行比较,选择最小的记录,直到进行比较的记录只有一个为止。public static void selectSort(int[] arr){ int len=arr.length; int temp=0; for(...原创 2018-11-22 22:14:54 · 191 阅读 · 0 评论 -
数组的查找
public class GetIndexOfArr { public static int getIndex(int[] arr,int key){ for(int i=0;i<arr.length;i++){ if(arr[i]==key) return i; } retur...原创 2018-11-23 10:41:24 · 704 阅读 · 0 评论