寻找两个数组中的公共元素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. // 要求:通过指针查找,实现比较两个有序数组中的元素,输出两个 ...
随机推荐
- 【Flask】学习笔记(一)入门
Flask 入门基础 Flask是一个轻量级的后台框架,用Flask作为Web框架的公司有Netfix,Reddit等,国内豆瓣,果壳等.使用flask的公司列表.Flask 有主要的两个依赖,一个是 ...
- 推荐系统实践 0x06 基于邻域的算法(1)
基于邻域的算法(1) 基于邻域的算法主要分为两类,一类是基于用户的协同过滤算法,另一类是基于物品的协同过滤算法.我们首先介绍基于用户的协同过滤算法. 基于用户的协同过滤算法(UserCF) 基于用户的 ...
- nginx负载均衡配置详解
已经了解了负载均衡的常用算法:轮询,加权轮询,热备等... 接下来就看看具体怎么配置. upstream配置是写一组被代理的服务器地址,然后配置负载均衡的算法. upstream mysvr{ ser ...
- Contest 984
A 先手取最大,后手取最小,答案就是第 \(\left\lceil\frac{n}{2}\right\rceil\) 小的数. 用 nth_element 可以做到 \(O\left(n\right) ...
- IDEA创建web工程(超简单)
Idea创建Web工程 以新建模块为例. 新建Maven项目 勾选[Create from artchetype] 选择[org.apache.maven.archetypes:maven-arche ...
- Java基础教程——Jshell
Jshell 从java9开始,java提供Jshell工具,可以输入代码片段并马上看到运行结果. 对于简单的Java语句测试,不需要新建文件,编译,运行了 Microsoft Windows [版本 ...
- day101:MoFang:模型构造器ModelSchema&注册功能之手机号唯一验证/保存用户注册信息/发送短信验证码
目录 1.模型构造器:ModelSchema 1.SQLAlchemySchema 2.SQLAlchemyAutoSchema 2.注册功能基本实现 1.关于手机号码的唯一性验证 2.保存用户注册信 ...
- Nginx配置Https(详细、完整)
Nginx配置Https(详细.完整) 原文链接:请支持原创 前置条件: 在配置https之前请确保下面的步骤已经完成 服务器已经安装nginx并且通过http可以正常访问 不会安装nginx的可以参 ...
- Redis分布式锁—Redisson+RLock可重入锁实现篇
前言 平时的工作中,由于生产环境中的项目是需要部署在多台服务器中的,所以经常会面临解决分布式场景下数据一致性的问题,那么就需要引入分布式锁来解决这一问题. 针对分布式锁的实现,目前比较常用的就如下几种 ...
- 第7.4节 Python中与众不同的类
一. 引言 在较旧的Python版本中,类型和类之间泾渭分明:内置对象是基于类型的,而自定义对象是基于类的.因此,你可以创建类,但不能创建类型.在较新的Python 2版本中,这种差别不那么明显 ...