寻找两个数组中的公共元素Java程序代码
package lianxi;
import java.util.*;
public class UnionSearch
{
public static void main(String[] args)
{
int[] array1 = {49,36,13,27,48,100,67,73,85,28,99,56};
int[] array2 = {34,45,13,67,23,56,28,90}; long mtime,etime,time;
Date myDate = new Date();
mtime = myDate.getTime();
//对数组进行快速排序
QuickSort qs = new QuickSort();
array1 = qs.quickSort(array1, 0, array1.length - 1);
array2 = qs.quickSort(array2, 0, array2.length - 1); //找两数组中的公共元素
int[] array;
array = qs.unionElment(array1, array2);
Date mydate = new Date();
etime = mydate.getTime();
time = etime - mtime;
System.out.println(mtime+" 运行时间为:"+time+" "+etime);
//打印公共元素
for(int i = 0; i < array.length;i ++)
{
if(array[i] != 0)
{
System.out.print(" ");
System.out.print(array[i]);
}
else
{
break;
}
}
} } class QuickSort
{
public int[] quickSort(int[] array,int low,int high)
{
if (low > high)
{
return null;
}
int i = low;
int j = high;
while (low < high)
{
int pivot = array[low];
while (low < high && array[high] >= pivot)
{
high --;
}
if (low < high)
{
int temp = array[low];
array[low] = array[high];
array[high] = temp;
low ++;
}
while (low < high && array[low] <= pivot)
{
low ++;
}
if (low < high)
{
int temp = array[high];
array[high] = array[low];
array[low] = temp;
high --;
}
}
quickSort(array,i,low - 1);
quickSort(array,low + 1,j);
return array;
}
public int[] unionElment(int[] array1,int[]array2)
{
int length_array1 = array1.length;
int length_array2 = array2.length;
int union_length = length_array1<length_array2?length_array1:length_array2;
int[] array = new int[union_length];
int i = 0;
int j = 0;
int k = 0;
while (i < length_array1 && j < length_array2)
{
if (array1[i] < array2[j])
{
i ++;
}
else if (array1[i] > array2[j])
{
j ++;
}
else
{
array[k] = array1[i];
i ++;
j ++;
k ++;
} }
return array;
}
}
寻找两个数组中的公共元素Java程序代码的更多相关文章
- php获取两个数组相同的元素(交集)以及比较两个数组中不同的元素(差集)
(一)php获取两个数组相同元素 array array_intersect(array $array1, array $array2, [, array $...]) array array_ ...
- 【python】Leetcode每日一题-寻找旋转排序数组中的最小元素
[python]Leetcode每日一题-寻找旋转排序数组中的最小元素 [题目描述] 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组.例如,原数组nums ...
- 【python】Leetcode每日一题-寻找旋转排序数组中的最小元素2
[python]Leetcode每日一题-寻找旋转排序数组中的最小元素2 [题目描述] 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组.例如,原数组nums ...
- C语言:返回两个数组中第一个元素的指针,并输出这个值
// // main.c // Pointer_search // // Created by ma c on 15/8/2. // Copyright (c) 2015年. All righ ...
- Java如何从数组中查找公共的元素?
在Java中,如何从数组中查找公共的元素? 示例 以下示例显示了如何从两个数组中查找公共元素并将其存储在数组中. package com.yiibai; import java.util.*; pub ...
- Java-Runoob-高级教程-实例-数组:14. Java 实例 – 在数组中查找指定元素
ylbtech-Java-Runoob-高级教程-实例-数组:14. Java 实例 – 在数组中查找指定元素 1.返回顶部 1. Java 实例 - 在数组中查找指定元素 Java 实例 以下实例 ...
- Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素-un
ylbtech-Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素 1.返回顶部 1. Java 实例 - 查找数组中的重复元素 Java 实例 以下实例 ...
- 有关《查找两个List中的不同元素》的问题解答与编程实践
郑海波 2013-07-08 问题: 有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样查找两个集合中不同的元素呢? ...
- C 语言:返回两个数组中第一个相同元素的指针(我用了loop 、goto loop标签)
// // main.c // Pointer_search // // Created by ma c on 15/8/2. // 要求:通过指针查找,实现比较两个有序数组中的元素,输出两个 ...
随机推荐
- PHP后台基本语法使用笔记
1. PHP中报500错误时如何查看错误信息 //将如下的代码放入PHP的文件中ini_set("display_errors","On"); error_re ...
- MySQL 当前时间,今日时间,前日时间 详解
MySQL 获取当前日期及日期格式 获取系统日期: NOW() 格式化日期: DATE_FORMAT(date, format) 注: date:时间字段 format:日期格式 返回系统日期,输出 ...
- moviepy音视频开发:音频拼接函数concatenate_audioclips介绍
☞ ░ 前往老猿Python博文目录 ░ concatenate_audioclips函数用于将多个音频剪辑进行拼接合成一个顺序播放的剪辑. 调用语法: concatenate_audioclips( ...
- 区块链知识博文1: 共识算法之争(PBFT,Raft,PoW,PoS,DPoS,Ripple)
注:这是本人读到的关于共识算法最全和最好的分享博文,系统的介绍了拜占庭容错技术以及共识算法的原理和常用共识算法,原文链接请见后. 目录 一.拜占庭容错技术(Byzantine Fault Tolera ...
- Python函数独立星号(*)分隔的命名关键字参数
如果需要限制关键字参数的输入名字,就需要使用到命名关键字参数的形式,所谓命名关键字参数就是给关键字参数限定指定的名字,输入其他名字不能识别.命名关键字参数和位置参数之间使用独立的星号(*)分隔,星号后 ...
- PyQt(Python+Qt)学习随笔:QListWidgetItem的构造方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListWidgetItem对象专门用于作为QListWidget对象的一个项. QListWid ...
- PyQt(Python+Qt)学习随笔:Qt Designer中toolBar的allowedAreas属性
1.概述 allowedAreas属性指定工具栏允许移动的范围,其类型为枚举类Qt.ToolBarAreas,有如下取值: 以上取值可以同or操作组合使用. 2.访问方法 缺省值为Qt.AllTool ...
- crawlergo动态爬虫去除Spidername使用
本来是想用AWVS的爬虫来联动Xray的,但是需要主机安装AWVS,再进行规则联动,只是使用其中的目标爬虫功能感觉就太重了,在github上面找到了由360 0Kee-Team团队从360天相中分离出 ...
- 《深入理解计算机系统》实验一 —Data Lab
本文是CSAPP第二章的配套实验,通过使用有限的运算符来实现正数,负数,浮点数的位级表示.通过完成这13个函数,可以使我们更好的理解计算机中数据的编码方式. 准备工作 首先去官网Lab Assig ...
- 深入分析 Java Lock 同步锁
前言 Java 的锁实现,有 Synchronized 和 Lock.上一篇文章深入分析了 Synchronized 的实现原理:由Java 15废弃偏向锁,谈谈Java Synchronized 的 ...