@Override
    public int calculateOperations() {
        int num = 1;
        ArrayList<Integer> calc = this.copyArray();
        int pos = 1;
        int last = 0;
        while (pos < calc.size()) {
            num++;
            if (calc.get(pos) >= calc.get(pos - 1)) {
                if (last != 0) {
                    pos = last;
                    last = 0;
                }
                pos++;
            } else {
                num += 2;
                Collections.swap(calc, pos, pos - 1);
                if (pos > 1) {
                    if (last == 0) {
                        last = pos;
                    }
                    pos--;
                } else {
                    pos++;
                }
            }
        }
        return num;
    }