美文网首页
只包含0-1-2的数组重新整理

只包含0-1-2的数组重新整理

作者: 西5d | 来源:发表于2018-12-29 19:32 被阅读14次

数组只包含0,1,2,各自的数目不一致,乱序,重新整理成{0,1,2,0,1,2,0,1,2...}类似的格式。其实就是对应位置限制成索引位和3取余数的值,i%3,没什么太大意义,囧。比如如下的代码和输出:

public class Relocate {
    public static void main(String[] args) {
        int[] arr = new int[]{0,1,2,1,1,1,0,2,1,0,2,1,2,1};
        System.out.println(Arrays.toString(arr));
        locate(arr);
        System.out.println(Arrays.toString(arr));
    }

    static void locate(int[] arr) {
        int key;
        for (int i = 0; i < arr.length; i++) {
            key = i % 3;
            if (arr[i] != key) {
                for (int j = i; j < arr.length; j++) {
                    if (key == arr[j]) {
                        int t = arr[j];
                        arr[j] = arr[i];
                        arr[i] = t;
                    }
                }
            }
        }
    }
}
before:
[0, 1, 2, 1, 1, 1, 0, 2, 1, 0, 2, 1, 2, 1]
after:
[0, 1, 2, 0, 1, 2, 0, 1, 2, 1, 1, 2, 1, 1]

相关文章

  • 只包含0-1-2的数组重新整理

    数组只包含0,1,2,各自的数目不一致,乱序,重新整理成类似的格式。其实就是对应位置限制成索引位和3取余数的值,i...

  • React组件 纯组件 函数组件 高阶组件

    一、组件 (1) 函数组件 如果你想写的组件只包含一个 render 方法,并且不包含 state,那么使用函数组...

  • ReactNative的函数组件与类组件、Component 与

    一、组件1.函数组件如果你想写的组件只包含一个 render 方法,并且不包含 state,那么使用函数组件就会更...

  • 10月31日C#学习总结

    今天学习了数组和Array类的使用。 数组:只包含单个序列的数组称为一维数组,多维数组通过一个或多个值进行索引,C...

  • 10.31总结

    数组:只包含单个序列的数组称为一维数组,多维数组通过一个或多个值进行索引,C#支持三种数组:一维数组、多维数组和交...

  • Swift中转化数组为JSON字符串

    如果数组只包含JSON可编码的值(字符串,数字,字典,数组,nil)你可以直接使用NSJSONSerializat...

  • 10月31日四期C#总结

    今天老师带我们学习了第六章的:数组和Array类的使用。 数组:只包含单个序列的数组称为一维数组,多维数组通过一个...

  • 2017.10.31

    只包含单个序列的数组称为一维数组多维数组通过一个或多个值进行索引 引用数组元素 下标可以是整型常量每个数组都有一个...

  • ES6学习-数组

    数组循环 foreach 普通的遍历 map 可以return一个数组,用来重新整理数据 for of 遍历出ke...

  • ios数组按时间拆分添加到另外一个数组

    数组通过time拆分新的数组(包含多个时间段的数组) 初始json数据如下: 改造后如下: 也就是数组中包含数组,...

网友评论

      本文标题:只包含0-1-2的数组重新整理

      本文链接:https://www.haomeiwen.com/subject/qkmplqtx.html