JAVA常见算法题(二十八)

package com.forezp.util;

import java.util.Arrays;

/**
 * 两个int数组,都是从小到大的的排列,请合并为一个新的数组,也是从小到到大的排列,
 * 请写出性能最优的算法。<br>
 *
 *
 *
 * @author Administrator
 *
 */
public class ArrayDemo1 {
    public static void main(String[] args) {
        int[] a = { 1,3,5,7,9};
        int[] b = { 2,4,6,7,8,10};

        int[] c = new int[a.length+b.length];

        //将a,b的数据copy到c中
        System.arraycopy(a, 0, c, 0, a.length);
        System.arraycopy(b, 0, c, a.length, b.length);

        Arrays.sort(c);

        for (int i : c) {
            System.out.print(i);
        }

    }
}

运行结果:

时间: 2024-12-09 23:41:00

JAVA常见算法题(二十八)的相关文章

JAVA常见算法题(二十四)

package com.xiaowu.demo; //一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. public class Demo24 { public static void main(String[] args) { f2(123454321); } // 方法一 public static void f1(int n) { if (n >= 10000 && n < 100000) { String s = String.va

JAVA常见算法题(二十九)

package com.forezp.util; import java.util.Scanner; /** * 判断输入的5个字符串的最大长度,并输出 * * * @author Administrator * */ public class StringDemo{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String[] str =new String[5]; for(int x

JAVA常见算法题(二十)

package com.xiaowu.demo; /** * * 打印出如下图案(菱形) * * * * @author WQ * */ public class Demo20 { public static void main(String[] args) { display(5); } public static void display(int h) { for (int i = 0; i < (h + 1) / 2; i++) { for (int j = 0; j < h / 2 -

JAVA常见算法题(二十七)

题目:给定一个存放整数的数组,请写一个算法,把偶数移动到该数组的右边,奇数放在该数组的左边,请考虑时间和空间的最优算法. package com.forezp.util; /** * 题目:给定一个存放整数的数组,请写一个算法, * 把偶数移动到该数组的右边,奇数放在该数组的左边,请考虑时间和空间的最优算法. * * @author Administrator * */ public class ArrayDemo { //判断是否为偶数 public static boolean isEven

JAVA常见算法题(三十)

package com.forezp.util; import java.io.BufferedReader; import java.io.FileReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; /** * 一个文本中包含多行字符串,输入长度最长的字符串和最短的字符串<br> * * @author Administrator * */ pu

JAVA常见算法题(二十三)

package com.xiaowu.demo; /** * 给一个不多于5位的正整数,要求:①求它是几位数:②逆序打印出各位数字. * * * @author WQ * */ public class Demo23 { public static void main(String[] args) { f(123789); } public static void f(long l) { String s = Long.toString(l); char[] c = s.toCharArray(

JAVA常见算法题(三十五)

判断一个整数能被几个9整除. public static void main(String[] args) { f(729); f(730); } public static void f(int n) { int tmp = n; int count = 0; for (int i = 0; tmp % 9 == 0;) { tmp = tmp / 9; count++; } System.out.println(n + "能够被 " + count + "个9整除.&qu

JAVA常见算法题(二十一)

package com.xiaowu.demo; //求1+2!+3!+...+20!的和. public class Demo21 { public static void main(String[] args) { sum(20); } public static void sum(int n) { long sum = 0; long fac = 1; for (int i = 1; i <= n; i++) { fac *= i; sum += fac; } System.out.pri

JAVA常见算法题(三十四)---计算加密之后的电话号码

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的, 加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字, 再将第一位和第四位交换,第二位和第三位交换. 求加密之后的数字. public static void main(String[] args) { f(2345); } public static void f(int num) { int[] c = new int[4]; if (num > 999 && num < 10000) {