当前位置: 首页 > 编程笔记 >

Java程序以给定大小的组反转数组

金霄
2023-03-14
本文向大家介绍Java程序以给定大小的组反转数组,包括了Java程序以给定大小的组反转数组的使用技巧和注意事项,需要的朋友参考一下

通过反转所需大小的子数组,可以按给定大小的组反转数组。一个例子如下。

Array = 1 2 3 4 5 6 7 8 9 10
Group size = 3
Modified array = 3 2 1 6 5 4 9 8 7 10

演示此过程的程序如下。

示例

public class Example {
   public static void main(String[] args) {
      int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9 ,10};
      int size = 4;
      int n = arr.length;
      System.out.print("Original array is: ");
      for (int i = 0; i < n; i++)
      System.out.print(arr[i] + " ");
      for (int i = 0; i < n; i += size) {
         int left = i;
         int right = Math.min(i + size - 1, n - 1);
         int temp;
         while (left < right) {
            temp = arr[left];
            arr[left] = arr[right];
            arr[right] = temp;
            left += 1;
            right -= 1;
         }
      }
      System.out.print("\nModified array is: ");
      for (int i = 0; i < n; i++)
      System.out.print(arr[i] + " ");
   }
}

输出结果

Original array is: 1 2 3 4 5 6 7 8 9 10
Modified array is: 4 3 2 1 8 7 6 5 10 9

现在让我们了解上面的程序。

首先打印原始数组。然后,使用for循环将给定大小(即4)的组反转为数组。演示此操作的代码段如下所示。

System.out.print("Original array is: ");
for (int i = 0; i < n; i++)
System.out.print(arr[i] + " ");
for (int i = 0; i < n; i += size) {
   int left = i;
   int right = Math.min(i + size - 1, n - 1);
   int temp;
   while (left < right) {
      temp = arr[left];
      arr[left] = arr[right];
      arr[right] = temp;
      left += 1;
      right -= 1;
   }
}

然后显示修改后的数组。演示此过程的代码段如下所示。

System.out.print("\nModified array is: ");
for (int i = 0; i < n; i++)
System.out.print(arr[i] + " ");
 类似资料:
  • 本文向大家介绍Java程序将数组反转到给定位置,包括了Java程序将数组反转到给定位置的使用技巧和注意事项,需要的朋友参考一下 数组可以反转到给定位置pos,其余数组不变。一个例子如下: 演示此的程序如下所示- 示例 输出结果 现在让我们了解上面的程序。 如果位置大于数组的长度,则这是一个错误并被打印。否则,首先打印原始数组。证明这一点的代码片段如下所示- 现在,使用for循环将数组反转到pos。

  • 我正在解决在给定大小的组中反转链表的问题,我使用的算法如下: 1) 反转大小k的第一个子列表。反转时,我跟踪下一个节点和上一个节点。将指向下一个节点的指针设为next,将指向前一个节点的指针设为prev 2)head=反向(下一个,k)-递归调用列表的其余部分 3) 返回prev,它是反向列表的新标题 我的代码示例是: 但我的输出只是颠倒了列表的前半部分! 例如:如果我的列表是:98 74 94

  • 本文向大家介绍Java程序以区分大小写的顺序对数组进行排序,包括了Java程序以区分大小写的顺序对数组进行排序的使用技巧和注意事项,需要的朋友参考一下 可以使用java.util.Arrays.sort()方法以区分大小写的顺序对数组进行排序。在这种情况下,此方法仅需要单个参数,即要排序的数组。演示此的程序如下所示- 示例 输出结果 现在让我们了解上面的程序。 首先定义数组arr []。然后打印未

  • 问题内容: 我正在尝试将固定大小的数组转换为可变大小的数组(切片): 但是编译器抛出错误: 我应该如何转换? 问题答案: 使用让您在阵列上切片。另请参阅此博客文章,以获取有关数组和切片的更多信息。

  • 这个问题有多项式解吗?如果有,你能呈现吗?

  • 给定一个int数组和所需的数组大小,应该返回一个包含所有可能唯一数组的数组。初始数组中的所有整数都应该是唯一的。如果在另一个数组中找不到其所有成员,则认为该数组是唯一的。