0 0

把一个8位的数组,每2位组成一组新的数组组,不重复,怎么做?5

比如: int[1,2,3,4,5,6,7,8]          ----8位

要分成

int[1,2]                                        ----2位

int[1,3]

.

.

.

这样的程序改怎么写,如果8位和2位都是变量,又该怎么做。

用JAVA语言哦。

 

 


问题补充:如果是int[a,b,c,d,e,f,g]  里面全是变量又该怎么做。
2014年9月15日 17:26

6个答案 按时间排序 按投票排序

0 0

int[] a={1,2,3,4,5,6,7,8,9}; 
int m=a.length;
int n=2;
for(int i=0;i<m;i+=n){
	int end=i+n>m?m:i+n;
	int [] t=org.apache.commons.lang.ArrayUtils.subarray(a, i, end);
	System.out.println(ArrayUtils.toString(t));
}


打印:
{1,2}
{3,4}
{5,6}
{7,8}
{9}

2014年9月17日 13:43
0 0

这是个排列的问题,相当于从8个元素中取2个元素进行排列.
下面是代码,没有考虑元素重复的情况

public void permutation(List<int[]> result, int[] arr, int index, int num){
        if (index == num){
            int[] newArr = new int[num];
            System.arraycopy(arr, 0, newArr, 0, num);
            result.add(newArr);
            return;
        }
        for (int i = index; i < arr.length; i++) {
            swap(arr, index, i);
            permutation(result, arr, index + 1, num);
            swap(arr, index, i);
        }
    }

    private void swap(int arr[], int i, int j){
        if(i != j){
            arr[i] ^= arr[j];
            arr[j] ^= arr[i];
            arr[i] ^= arr[j];
        }
    }

    @Test
    public void testPermutation() throws Exception {
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
        List<int[]> result = new ArrayList<>();
        permutation(result, arr, 0, 2);//从arr中取两个元素排列
        System.out.println(result.size());
        for (int[] is : result) {
            System.out.println(Arrays.toString(is));
        }
    }

2014年9月16日 21:50
0 0

如果确定一定是8位,那就直接下面这样最简单

int[] a={1,2,3,4,5,6,7,8};
int[][] b={{a[0],a[1]},{a[2],a[3]},{a[4],a[5]},{a[6],a[7]}};

2014年9月16日 12:50
0 0

可以试试用封装一个数组类,里面2个属性都是set<>()

2014年9月16日 11:52
0 0

如果是你需要的数据,则可以用一个集合将他们装起来的,然后需要用的时候在取出来就OK了。

2014年9月15日 18:07
0 0

你好!执行以下下面的main函数,看看是不是你需要的。

public static void main(String[] args){
int[] a={1,2,3,4,5,6,7,8};
int[] b=new int[2];
for (int i = 0; i < a.length; i++) {
b[0]=i+1;
for (int j = i+2; j < a.length+1; j++) {
b[1]=j;
System.out.println(b[0]+"--"+b[1]);
}
     }
}

2014年9月15日 18:05

相关推荐

    js中数组中相同的元素进行整合并创建一个新数组.pdf

    4. **检查数组长度**:如果数组不为空,将第一个对象的`str`属性值赋给`_tmp`,为后续循环做准备。 5. **遍历数组**:使用`for...in`循环遍历数组,检查每个对象的`str`属性值是否与`_tmp`相等。如果相等,将该对象...

    二维数组去除重复项

    2. **转换与去重**:接下来,对`$array2D`中的每个子数组进行遍历,将每个子数组的元素用逗号连接成字符串,形成一个新的数组`$temp`。这样做的目的是便于后续的去重操作,因为`array_unique()`函数能够处理字符串...

    易语言双数组去重复数源码

    通常,我们会使用一个临时数组来存储不重复的元素,然后遍历两个原始数组,将不在临时数组中的元素添加进去。具体步骤如下: 1. 初始化:创建一个空的临时数组,用于存放不重复的元素。同时,设定两个指针,分别...

    JS 在指定数组中随机取出N个不重复的数据

    首先,理解函数`getArrayItems(arr,num)`的作用:它接受两个参数,`arr`是一个已经存在的数组,`num`是需要从`arr`中随机取出的不重复元素的数量。函数的返回值也是一个数组,包含随机抽取的不重复元素。 函数的...

    LeetCode初级算法-数组(手写)

    问题描述:给定一个非空的由整数组成的数组,代表一个非负整数,数组中的每个元素存储一个数字位,将这个数加一。 解决方法:从数组的最低位开始,模拟加一操作,注意进位问题。 8. 移动零 问题描述:给定一个数组...

    2014c语言必做题

    - 描述:从键盘输入两个浮点数`x1`和`y1`作为圆心坐标,从键盘输入一个浮点数`r`作为半径,这样就在二维平面上唯一地确定了一个圆。再从键盘输入两个浮点数`x2`和`y2`,求坐标`(x2, y2)`是在圆上还是在圆外。 - ...

    javascript入门笔记

    2、声明一个变量用于保存用户的年龄,赋值 68 3、如何 将变量的数据 打印在控制台上?? 4、一条语句中声明多个变量 var 变量名1=值,变量名2=值,变量名3; 3、变量名命名规范 1、由字母,数字,下划线以及 $ ...

    清除数组重复成员.zip易语言程序源码资源下载

    在“清除数组重复成员.zip”这个压缩包中,包含了一个易语言程序源码,该源码的功能是处理数组,移除其中的重复元素,这对于数据处理和算法理解来说是一个基础但重要的知识点。 首先,我们来讨论数组的基本概念。...

    易语言取数组中重复文本下标源码

    标题提到的"易语言取数组中重复文本下标源码"就是解决此类问题的一个代码示例。易语言是一种中文编程语言,其语法简洁明了,适合初学者和专业开发者使用。 易语言中的数组可以存储各种类型的数据,包括文本。在处理...

    matlab数组循环赋值

    `arrayfun`函数可以对数组中的每个元素应用一个函数,返回一个新的数组。例如,如果我们想将数组A的每个元素平方,可以这样做: ```matlab A = 1:5; B = arrayfun(@sqrt, A); % 计算A的每个元素的平方根 ``` ### 4...

    Java查找不重复无序数组中是否存在两个数字的和为某个值

    今天,我们将深入探讨Java语言中处理查找问题的一个具体实例:在不重复且无序的数组中查找是否存在两个数字,使得它们的和等于一个特定的值。这个问题不仅在算法设计上具有挑战性,而且在实际应用中也非常实用。 ...

    Vue.js在数组中插入重复数据的实现代码

    当尝试向数组中添加一个已经存在的元素时,Vue不会识别这是一个新的操作,因此不会触发视图的更新。 在不使用`track-by`属性的情况下,如示例代码中的2.1和2.2所示,当你点击按钮尝试添加`'tamota'`到`arrMsg`数组...

    js获取数组任意个不重复的随机数组元素 原创

    在函数内部,首先创建了一个名为 `temp_array` 的新数组,用于存储原始数组 `arr` 的副本。这样做的目的是避免直接操作输入的数组,确保原数组不受影响。 ```javascript var temp_array = new Array(); for (var...

    LeetCode去除数组重复元素-leetcode_[removed]刷题

    给定一个整数数组nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是你不能重复利用这个数组中同样的元素。 两种方法 Reverse ...

    JS两个数组比较,删除重复值的巧妙方法(推荐)

    传统的做法通常是通过循环遍历其中一个数组,然后在另一个数组中检查每个元素是否存在,如果不存在则将其添加到结果数组中。然而,这种方法效率较低,特别是在处理大数据量的数组时。这里介绍的是一种巧妙的方法,它...

    javascript实现数组去重的多种方法

    (要求:执行方法,传递一个数组,返回去重后的新数组,原数组不变,实现过程中只能用一层循环,双层嵌套循环也可写,只做参考); 先给初学者解释一下什么叫数组去重(老鸟跳过):意思就是讲数组里面重复的元素...

    javascript过滤数组重复元素的实现方法

    最直接的方法是定义一个辅助函数,用于判断新数组中是否已经包含了将要加入的元素。实现代码如下: ```javascript function filterArray(receiveArray) { var arrResult = new Array(); // 定义一个返回结果数组 ...

    jquery删除数组中重复元素

    这段代码首先定义了一个新的空数组`new_arr`,然后遍历原始数组`arr`。在每次循环中,它检查当前元素`items`是否已经在`new_arr`中。如果不在,就使用`push()`方法将其添加到`new_arr`的末尾。这样,当我们遍历完整...

    Java学习笔记,数组初步

    其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的三个基本特点: * 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 * 其元素必须是相同类型,不允许出现混合类型。 ...

    JS生成不重复的随机数组的简单实例

    在JavaScript编程中,生成不重复的随机数组是一个常见的需求,特别是在模拟随机数据、游戏开发或者进行各种算法测试时。本文将详细讲解如何使用JS来实现这个功能,通过一个简单的实例来帮助你理解并掌握这个技巧。 ...

Global site tag (gtag.js) - Google Analytics