zoukankan      html  css  js  c++  java
  • 就地交叉数组元素[a1a2b1b2]->[a1b1a2b2]

    问题描述:

    If [a1,a2,a3...,an,b1,b2...bn] is given input change this to [a1,b1,a2,b2.....an,bn] , solution should be in-place

    解答:

    第一步,交换中间一组元素.  再交换中间两组元素. 持续进行知道获得结果.

    例子:

    a1 a2 a3 a4 b1 b2 b3 b4
    a1 a2 a3 b1 a4 b2 b3 b4
    a1 a2 b1 a3 b2 a4 b3 b4
    a1 b1 a2 b2 a3 b3 a4 b4

    代码:

       1:  int interleave(int arr[], int len) {
       2:    int n = len/2;
       3:    for (int i = 1; i < n; i++) { // my step no.
       4:      for (int j = 0; j < i; j++) { // no. of swaps
       5:        swap(arr, n-i+2*j, n-i+2*j+1);
       6:      }
       7:    }
       8:  }

    来自: carrercup

  • 相关阅读:
    Java 网络编程基本步骤
    database link远程链接数据库
    oracle函数应用
    Oracle中的正则表达式
    java利用jxl操作Excel
    用AXIS2发布WebService的方法
    Oracle CASE WHEN 用法介绍
    Oracle 取随机数
    oracle学习-存储过程返回一个值,和返回一个结果集
    十道海量数据处理面试题与十个方法大总结
  • 原文地址:https://www.cnblogs.com/xubenben/p/3383688.html
Copyright © 2011-2022 走看看