剑指offer编程题Java实现——面试题4后的相关题目
2017-02-23 21:10
363 查看
题目描述:
有两个排序的数字A1和A2,内存在A1的末尾有足够多的空余空间容纳A2.请实现一个函数,把A2中的所有数字插入到A1中并且所有的数字是排序的。
还是利用从后向前比较两个数组中的数字的方式来实现。
有两个排序的数字A1和A2,内存在A1的末尾有足够多的空余空间容纳A2.请实现一个函数,把A2中的所有数字插入到A1中并且所有的数字是排序的。
还是利用从后向前比较两个数组中的数字的方式来实现。
1 package Solution; 2 3 4 /** 5 * 有两个排序的数字A1和A2,内存在A1的末尾有足够多的空余空间容纳A2. 6 * 请实现一个函数,把A2中的所有数字插入到A1中并且所有的数字是排序的。 7 * @author GL 8 * 本题应该注意Java中不可变数组的性质,所以用创建新数组接受插入排序后的元素 9 */ 10 public class No4InsertSortedArrays { 11 12 public static void main(String[] args) { 13 int[] array1={4,5,6,7,8,10}; 14 int[] array2={1,2,3,4,5}; 15 int[] temp=insertSortedArrays(array1,array2); 16 for(int k=0;k<temp.length;k++){ 17 System.out.print(temp[k]); 18 } 19 } 20 21 /* 22 * 从头到尾比较两个数组中的数字,把较大的数字复制到新数组的合适位置。 23 */ 24 public static int[] insertSortedArrays(int[] array2,int[] array1){ 25 if(array1==null||array2==null) 26 return null; 27 int i=array1.length-1; 28 int j=array2.length-1; 29 int n=array1.length+array2.length-1; 30 int[] temp=new int[array1.length+array2.length]; 31 while(n>=0){ 32 if(i>=0&&j>=0){ 33 if(array1[i]>array2[j]){ 34 temp =array1[i]; 35 n--; 36 i--; 37 }else if(array1[i]<array2[j]){ 38 temp =array2[j]; 39 n--; 40 j--; 41 }else if(array1[i]==array2[j]){ 42 temp =array2[j]; 43 temp[n-1]=array1[i]; 44 n=n-2; 45 i--; 46 j--; 47 } 48 }else if(i>=0&&j<0){ 49 temp[n--]=array1[i--]; 50 }else if(i<0&&j>=0){ 51 temp[n--]=array2[j--]; 52 } 53 54 } 55 return temp; 56 } 57 }
相关文章推荐
- 剑指offer面试题java实现之题4之相关题目:两个排序数组合并
- 剑指offer编程题Java实现——面试题7相关题用两个队列实现一个栈
- 剑指offer编程题Java实现——面试题4替换空格
- 剑指offer编程题Java实现——面试题8旋转数组的最小数字
- 剑指offer编程题Java实现——面试题12打印1到最大的n位数
- 剑指offer编程题Java实现——面试题12相关题大数的加法、减法、乘法问题的实现
- 面试题7—相关题目(两个队列实现栈)
- 一道经典的面向对象题目的JAVA实现
- Java中2.5D游戏的设计与实现(3)—八方走法实现原理及相关代码
- Java2.5D游戏的设计与实现(3)—八方走法实现原理及相关代码 推荐
- Java容器学习笔记(二) Set接口及其实现类的相关知识总结
- 关于微软面试题:"四人过桥"问题的思考——“n人过桥”问题的演进(Java实现)
- 关于微软面试题:"四人过桥"问题的思考——“n人过桥”问题的演进(Java实现)
- 百度面试题的java实现
- java基础知识记录--类相关语法 (摘自张孝祥整理java面试题)
- 关于一道J笔试或者机试题的Java实现:从键盘输入一串字符,翻转后输出(要求不使用string相关类即对象)
- java面试相关题目
- Java中2.5D游戏的设计与实现(3)—八方走法实现原理及相关代码
- Java中利用JCOM实现操作Excel 相关方法解释
- 题目:基于Java GUI的“21点”游戏的设计与实现