Java 反向阵列(HackerRank)

Java 反向阵列(HackerRank),java,data-structures,Java,Data Structures,我的代码是否朝着正确的方向倾斜?我目前正在研究黑客等级和数据结构的简单部分,但我仍然对如何反转此阵列感到困惑 在我所有的尝试中,我喜欢我做的这两件事。看看吧 一次尝试: 两次尝试: 您应该沿着输入数组向下走,然后以相反的方向填充目标数组: public static int[] reverseArray(int[] a) { int[] b = new int[a.length]; for (int i=0; i < a.length; ++i) { b

我的代码是否朝着正确的方向倾斜?我目前正在研究黑客等级和数据结构的简单部分,但我仍然对如何反转此阵列感到困惑

在我所有的尝试中,我喜欢我做的这两件事。看看吧

一次尝试:

两次尝试:

您应该沿着输入数组向下走,然后以相反的方向填充目标数组:

public static int[] reverseArray(int[] a) {
    int[] b = new int[a.length];

    for (int i=0; i < a.length; ++i) {
        b[i] = a[a.length-i-1];
    }

    return b;
}
publicstaticint[]reversearlay(int[]a){
int[]b=新的int[a.长度];
对于(int i=0;i
为了好玩,这里有一种方法可以在不使用任何额外存储的情况下颠倒原始阵列的顺序:

// give input int[] a
for (int i=0; i < a.length / 2; ++i) {
    a[i] = a[a.length-i-1];
}
//输入int[]a
对于(int i=0;i

请注意,这种方法只需沿数组的一半向下移动,并围绕中间带交换元素。

您可以通过两种方式反转数组

  • 或者从最后一个索引中提取元素并将元素放入新数组中
  • 比如说

    int[] b = new int[n];
    for(int i = n-1; i>=0 ; i--){
       n[i] = arrayTobeReverse[i];
    }
    
    有关更多信息,请访问:

  • 通过使用Collection.reverse()方法,首先必须使用array.asList(array)将数组转换为列表,然后使用array创建列表,然后反转列表。 例如:

    import java.util.*; 
    
    
    
    public class ReverseDemo 
    { 
        public static void main(String[] args) 
        { 
            // Let us create a list of strings 
            List<String>  mylist = new ArrayList<String>(); 
            mylist.add("practice"); 
            mylist.add("code"); 
            mylist.add("quiz"); 
            mylist.add("geeksforgeeks"); 
    
            System.out.println("Original List : " + mylist); 
    
            // Here we are using reverse() method 
            // to reverse the element order of mylist 
            Collections.reverse(mylist); 
    
            System.out.println("Modified List: " + mylist); 
        } 
    } 
    
    import java.util.*;
    公共类反向DEMO
    { 
    公共静态void main(字符串[]args)
    { 
    //让我们创建一个字符串列表
    List mylist=new ArrayList();
    mylist.添加(“实践”);
    mylist.add(“代码”);
    mylist.add(“测验”);
    mylist.add(“Geeksforgeks”);
    System.out.println(“原始列表:“+mylist”);
    //这里我们使用的是reverse()方法
    //反转mylist的元素顺序的步骤
    收藏。反面(mylist);
    System.out.println(“修改列表:“+mylist”);
    } 
    } 
    

  • 您可以直接将代码粘贴到这里,这是您尝试过的。它会让其他人不需要太多的导航就能轻松地理解你的问题。HackerRank是用来评估你的求职面试技能的。我们在我的公司使用它,它的目的是公平、公正地测试候选人。依我看,你们应该自己解决这个问题。你们在公司里使用它很酷!我用它来练习,但不是为公司工作,所以应该没问题。@PlayerUnknown_12,你很酷,只要你寻求建议而不是答案,从我的观点来看,你的问题是有效的,但它没有任何东西,所以社区可以在这方面帮助你。对,我问了我的问题,希望能引导我修正代码的正确方向,这就是我的问题的目的。对于未来的问题,我将看看是否有其他的开放论坛在hackerranks网站上。在第二秒,你必须在For循环之后返回,因为返回b[I]=a[I];将返回不带所有元素的数组,条件i>0意味着i迭代到1,而不是0(索引从0开始),并从n-1开始,因此最后一个元素不包括在反向数组中