打印经过限定后的数字排列

On October 18, 2010, in 算法, 笔试面试, by sponge

题目:给定6个数字,1,2,2,3,4,5,打印所有的排列

要求:

  1. 所有的4均不会出现在排列的第4个位置
  2. 数字3和数字5不能相邻
  3. 排列不能重复。

实现思想:

采用回朔的方法便利所有可能的排列,其中把不符合题目要求的去除。需要额外注意的是,数字中出现了两个2,如果单纯的遍历,会打印两次2在某个位置的排列,要注意把这个重复给去除。

Tagged with: