`
zeyuphoenix
  • 浏览: 58337 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

收集面试题(十八)(数组拷贝)

阅读更多

// 有两个数组A,B,B数组中的元素包含在A数组中,
// 请写一段代码把A数组中B没有的元素放到C数组中。
// 假如数组中都是数字,而且已经按大小排序,请写一段代码最快效率把
// 上面的元素放到C数组中。

/**
 * The Class CopyArray.
 */
public class CopyArray {

	/**
	 * The main method.
	 * 
	 * @param args
	 *            the arguments
	 */
	public static void main(String[] args) {
		copyNoSort();
		System.out.println("sort: ");
		copySort();
	}

	/**
	 * Copy no sort.
	 */
	// 循环进行m*n次
	public static void copyNoSort() {

		int[] arrayA = new int[] { 11, 1, 2, 13, 4, 5, 6, 7, 8, 9 };
		int[] arrayB = new int[] { 2, 4, 6, 8 };

		int[] arrayC = new int[arrayA.length - arrayB.length];
		int t = 0;
		for (int i = 0; i < arrayA.length; i++) {
			boolean isHave = true;
			for (int k = 0; k < arrayB.length; k++) {
				if (arrayA[i] == arrayB[k]) {
					isHave = false;
				}
			}

			if (isHave) {
				arrayC[t] = arrayA[i];
				t++;
			}
		}

		for (int i = 0; i < arrayC.length; i++) {
			System.out.print(arrayC[i] + ", ");
		}

	}

	/**
	 * Copy sort.
	 */
	public static void copySort() {
		int[] arrayA = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13 };
		int[] arrayB = new int[] { 2, 4, 6, 8 };

		int[] arrayC = new int[arrayA.length - arrayB.length];

		int k = 0;
		int t = 0;
		for (int i = 0; i < arrayA.length; i++) {

			if (k < arrayB.length) {
				if (arrayA[i] < arrayB[k]) {
					arrayC[t] = arrayA[i];
					t++;
				} else {
					k++;
				}
			} else {

				arrayC[t] = arrayA[i];
				t++;
			}
		}

		for (int i = 0; i < arrayC.length; i++) {
			System.out.print(arrayC[i] + ", ");
		}
	}
}

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java面试题.doc

    Java面试题涵盖了多个核心Java技术和概念,包括运行Java应用、RPC与HTTP的区别、Spring Boot的熔断机制、Git分支管理、幂等性实现、事务管理、数组拷贝效率、JVM垃圾收集、Map类的使用、SQL优化以及单例模式。...

    JAVA struts2 框架 面试题

    JAVA Struts2 框架面试题解析 本文将详细解析 JAVA Struts2 框架相关知识点,涵盖异常处理、Servlet 生命周期、集合框架、HashMap 和 Hashtable 的区别、final、finally 和 finalize 的区别、sleep 和 wait 的区别...

    Java面试题(银河创想)J

    银河创想的Java面试题集合为我们提供了一个深入了解Java技术栈及其面试准备的关键视角。以下将根据标题和描述,结合Java的相关知识,详细解析一些可能出现在面试中的重点知识点。 1. **基础知识** - 类与对象:...

    corejava_面试题

    Java基础知识讲解与面试题分析: 1. Java源文件中是否可以包含多个类? 是的,一个".java"源文件中可以包含多个类,但只能有一个公共类(public class),并且该公共类的名称必须与文件名相同。其他非公共类的数量...

    前端面试题总结.docx

    10. **浅拷贝与深拷贝**:浅拷贝只复制对象的引用,深拷贝会创建新的对象,递归复制所有嵌套的对象和数组。 11. **HTML5本地存储**:`localStorage`和`sessionStorage`都是Web Storage的一部分,前者长期存储,后者...

    java经典面试题.doc

    ### Java经典面试题知识点解析 #### 1. super()与this()的区别? - **super()**:用于调用父类的构造方法。在一个子类的构造方法中,如果要调用父类的构造方法,必须使用`super()`,并且这个调用语句必须放在子类...

    c++面试题(面试经验)自己收集自己总结 现在分享给大家

    常见的数据结构包括数组、链表、栈、队列、树(二叉树、平衡树等)、图等。算法方面,排序(如冒泡、选择、插入、快速、归并排序)、查找(线性、二分、哈希查找)、递归、动态规划等是常见的考察点。 三、内存管理...

    2022 java面试题大全面试题包括以下十九个模块

    Java虚拟机是Java程序的运行环境,面试中可能涉及垃圾收集、内存模型、性能调优等。 以上知识点涵盖了Java开发和面试的多个方面,对于准备Java面试的开发者来说,理解并掌握这些内容至关重要。

    2022年C语言笔试面试题整理.doc

    C语言笔试面试题整理 随着企业招聘的日益激烈,笔试面试成为衡量程序员能力的重要环节。如果您不是那种编程功底非常深厚的人,又不好好准备一下,在笔试面试中往往会处在被动局面。虽然有些笔试题是故意为难我们,...

    interview-go:golang面试题集合

    Golang 面试题搜集 Golang 常见面试题目解析 golang 并发题目测试 记一道字节跳动的算法面试题 多协程查询切片问题 对已经关闭的的chan进行读写,会怎么样?为什么? 简单聊聊内存逃逸? 字符串转成byte数组,会发生...

    博彦科技上海分公司赴阿里巴巴资深JAVA开发工程师面试题.pdf

    以下是一些基于给定面试题的知识点详细解释: 1. **条件语句**: 题目中提到的选择题1是关于Java中的条件语句,即`if-else`结构。要打印出"Test2",变量`x`的值必须在4到9之间(不包括4和9),因此正确答案是C.x&gt;9...

    java 2012面试题

    Java作为一门广泛使用的编程语言,它的面试题往往涉及基础知识点到深入理解的多个层面。以下是从给定文件中提炼的Java面试知识点详解。 1. 一个".java"源文件中可以包含多个类,但只有一个公共类,且公共类的名称...

    JAVA面试题大全

    ### JAVA面试题大全知识点解析 #### 一、基础概念与数据类型 1. **基本概念:** - **引用:** Java中对象的引用是指向该对象的一个指针,通过这个指针可以访问到对象的实际内容。 - **类与对象的关系:** 类是...

    java面试题面试总结

    【Java面试知识点总结】 在Java面试中,面试官通常会关注候选人的基础知识、编程技能、设计模式理解以及项目经验。以下是一些常见的Java面试问题及其解答: 1. 文档生成: 在软件工程的不同阶段,需要生成不同的...

    Java面试基础题

    ### Java面试基础题详解 #### 一、逻辑运算符 & 和 && 的区别 - **&**:这是一个位运算符,也可以作为逻辑运算符使用。它会检查两边的条件,无论左边的结果如何都会继续计算右边的表达式。在布尔运算中,如果两边...

    java面试题

    以上是对Java面试题中涉及的多个知识点的详细解释,包括对象创建、垃圾收集、类与接口、异常处理、数据类型转换、字符串操作、变量范围、构造函数、修饰符、布局管理器、标识符规则以及main方法等。理解并掌握这些...

    长期收集的C/C++ 笔试(面试)题

    "长期收集的C/C++ 笔试(面试)题"这个资源对于正在寻找相关工作的计算机专业人员来说,无疑是一份宝贵的资料。这份文档可能包含了各种各样的问题,旨在测试应试者对于C和C++语言的理解深度以及实际应用能力。 ...

Global site tag (gtag.js) - Google Analytics