专栏首页JAVA人生/面试技巧数组的简单练习题

数组的简单练习题

1.将一个给定的整型数组转置输出, 例如: 源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1

package Array;

public class arrayTest1 {
    public static void main(String[] args) {
        int[] a={1,2,3,4,5,6};
        int m=a.length;
        int temp;
        for (int i = 0; i <m/2; i++) {
           temp=a[i];
           a[i]=a[m-i-1];
           a[m-i-1]=temp;
        }
        for (int i = 0; i < m; i++) {
            System.out.print(a[i]+" ");
        }
    }
}

2.现在有如下的一个数组: int[] oldArr = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ; 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int[] newArr = {1,3,4,5,6,6,5,4,7,6,7,5} ;

package Array;

public class arrayTest2 {
    public static void main(String[] args) {
        int[] oldArr = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
        int count=0;
        for (int i = 0; i <oldArr.length ; i++) {
            if(oldArr[i]!=0){
                count++;
            }
        }

        int[] newArr=new int[count];
        for (int i = 0,j=0; i <oldArr.length ; i++) {
            if(oldArr[i]!=0)
            {
                newArr[j]=oldArr[i];
                j++;
            }
        }
        System.out.print("新数组为:");
        for (int i = 0; i < count; i++) {
            System.out.print(newArr[i]+" ");
        }
    }
}

3.现在给出两个数组: 数组a:"1,7,9,11,13,15,17,19" 数组b:"2,4,6,8,10" 两个数组合并为数组c。

package Array;

import java.util.ArrayList;
import java.util.List;

public class arrayTest3 {
    public static void main(String[] args) {
        int[] a = {1, 7, 9, 11, 13, 15, 17, 19};
        int[] b = {2, 4, 6, 8, 10};
        int m = a.length + b.length;
        int j = 0,temp;
        int[] c = new int[m];
        for (int i = 0; i < a.length; i++) {
            c[i] = a[i];
        }
        for (int i = a.length; i < m; i++) {
            c[i] = b[j];
            j++;
        }

        for(int i=0;i<m-1;i++){
        for(int s=0;s<m-1-i;s++){
         if(c[s]>c[s+1]){
            temp=c[s];
            c[s]=c[s+1];
            c[s+1]=temp;
            }
        }
    }
        for (int i = 0; i < m; i++) {
            System.out.print(c[i] + " ");
        }
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 顺序查找算法加优化

    顺序查找算法比较简单,在一个线性表中,按照从前往后或者从后往前的顺序依次查找,如果查找到关键字和给定值相等,则返回给定值的位置,查找成功;如果查找值最后一个元素...

    阮键
  • 分页的标准写法

    //使用pager进行分页展示 //首先Service层的书写,例如: ServerResponse<Pager> selectUserAll(int cu...

    阮键
  • JAVA基础复习day-01

    byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。

    阮键
  • 洛谷P3763 [TJOI2017]DNA(后缀数组 RMQ)

    具体来说,每次比较当前后缀和\(S_0\)的lcp,如果长度\(< N\)的话就从不合法的位置继续匹配

    attack
  • 【CodeForces 730H】Car Repair Shop

    模拟,先看从s[i]时刻开始修理,和之前i-1个是否冲突。如果冲突,就枚举每个s[j]+d[j]时刻开始,看是否冲突,再从中选择最小的时刻。

    饶文津
  • P1197 [JSOI2008]星球大战

    题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几...

    attack
  • 洛谷P4725 【模板】多项式对数函数(多项式ln)

    可以直接对两边求导\(G'(A(x)) = F'(A(x))A'(x) = \frac{A(x)}{A'(x)}\)

    attack
  • 用邻接链表存图 详讲

    在许多图论的题目中,我们首先要存图,之前我已经学习了用邻接矩阵存图 ,但是看许多大佬都是用邻接表存图,觉得还是学习下好!

    用户7727433
  • cf547D. Mike and Fish(欧拉回路)

    attack
  • hdu1014

    @坤的

扫码关注云+社区

领取腾讯云代金券