有重複元素的排列問題
問題描述:設有{r1,r2,...,rn}共n個元素,這n個元素中可能存在重複元素,試設計一個演算法,列出這n個元素的不同排列。
問題分析:
#include <stdio.h>
#include <string.h>
int a[4]={1,1,2,2};
int notExists(int index, int left, int right)
{
int flag=1;
for(int i=left;i<index;i++){
if(a[i]==a[index]){
flag=0;
break;
}
}
return flag;
}
void perm(int left, int right)
{
if (left==right){
for(int i=0;i<4;i++)
printf("%d",a[i]);
printf("\n");
}
else{
for(int i=left;i<=right;i++){
if(notExists(i,left,right)){
int temp=a[left];
a[left]=a[i];
a[i]=temp;
perm(left+1,right);
temp=a[left];
a[left]=a[i];
a[i]=temp;
}
}
}
}
void main()
{
perm(0,3);
}
相關文章
- 有重複元素的全排列
- leetcode 面試題08.08. 有重複字串的排列組合LeetCode面試題字串
- 無重複字串的排列組合字串
- 【力扣】排列問題(回溯法)(去重)力扣
- 存在重複元素
- sql重複插入問題SQL
- java陣列中重複元素的去重Java陣列
- android包重複問題Android
- 資料檢視的重複問題
- 查詢Set中重複的元素
- 961. 重複 N 次的元素
- 使用HashSet<>去除重複元素的集合
- 有關 Android Studio 重複引入包的問題和解決方案Android
- 併發請求的重複插入問題
- 解決表單重複提交的問題
- 關於SQL的重複記錄問題SQL
- strust2 重複提交的問題Rust
- v-if與v-show造成部分元素丟失的問題——v-if複用元素問題
- LeetCode每日一題:重複 N 次的元素(No.961)LeetCode每日一題
- 【Java面試題】54 去掉一個Vector集合中重複的元素Java面試題
- 關於元素排列的DFS
- Java實現-帶重複元素的子集Java
- 如何刪除ArrayList中的重複元素
- 力扣之存在重複元素力扣
- Androidstudio中jar包重複或jar包裡的類重複問題AndroidJAR
- 字串排列組合問題字串
- 去除重複字母(不同字元的最小序列)問題字元
- 標準SQL寫法的重複列問題SQL
- webpack dll打包重複問題優化Web優化
- C#迴圈中使用Random生成隨機數有重複問題C#random隨機
- 解決子元素浮動,父元素沒有撐開的問題
- js刪除陣列中重複的元素JS陣列
- js刪除陣列中的重複元素JS陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- 220、存在重複元素Ⅲ(中等)
- Remove Duplicate Letters 刪除重複元素REM
- JavaScript陣列刪除重複元素JavaScript陣列
- 解決生產日誌重複列印的問題