Leetcode c语言- Permutations II
来源:互联网 发布:美工设计包括哪些 编辑:程序博客网 时间:2024/06/04 19:40
Title:
Given a collection of numbers that might contain duplicates, return all possible unique permutations.
For example,[1,1,2]
have the following unique permutations:
[ [1,1,2], [1,2,1], [2,1,1]]
solutions:
/** * Return an array of arrays of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */void sort(int* nums, int numsSize){int i,j; int flag=0; int temp;for (i=0;i<numsSize;i++) {for (j=0;j<numsSize-1;j++) {if (nums[j+1]<=nums[j]) {temp=nums[j];nums[j]=nums[j+1];nums[j+1]=temp;flag=1;}}if (flag==0)break;}}void recursive(int** result,int* nums, int numsSize, int* returnSize,bool* used,int* temp, int size) { int i=0; if (size==numsSize) { result[*returnSize]=(int*)malloc(sizeof(int)*numsSize); for (i=0;i<numsSize;i++) { result[*returnSize][i]=temp[i]; } size=0; (*returnSize)++; return; } for (i=0;i<numsSize;i++) { while (nums[i]==nums[i+1] && used[i+1]==false && (i+1)<numsSize) { i++; } if (!used[i]) { used[i]=true; temp[size]=nums[i]; recursive(result,nums,numsSize,returnSize,used,temp,size+1); used[i]=false; } } } int** permuteUnique(int* nums, int numsSize, int* returnSize) { int** result = (int**)malloc(sizeof(int)*1000000); bool* used[numsSize]; int* temp[numsSize]; int size=0; int i; if (numsSize==0 || nums==NULL) { *returnSize=0; return result; } *returnSize=0; memset(used,(bool)false,numsSize); sort(nums,numsSize); recursive(result,nums,numsSize,returnSize,used,temp,size); return result; }
阅读全文
0 0
- Leetcode c语言- Permutations II
- Leetcode c语言-Permutations
- [C++]LeetCode: 120 Permutations II
- 【LeetCode】Permutations && Permutations II
- leetcode: Permutations/Permutations II
- leetcode Permutations & Permutations II
- [Leetcode]Permutations && Permutations II
- Leetcode: Permutations and Permutations II
- leetcode-permutations and permutations II
- Leetcode:Permutations与Permutations II
- LeetCode: Permutations II
- LeetCode Permutations II
- LeetCode: Permutations II
- [Leetcode] Permutations II
- [LeetCode] Permutations II
- [Leetcode] Permutations II
- leetcode Permutations II
- [LeetCode]Permutations II
- 摄像头视频捕捉(IsampleGrabberCB实现)
- web前端工程师必备的六大技术,你了解吗?
- C++ cocos各种优化问题集合
- android xml本地数据弹窗多选
- 机器学习十大算法
- Leetcode c语言- Permutations II
- 迭代器Iterator
- 使用cad转换器操作教程
- CodeForces 808A Lucky Year(思维)
- Jupyter Notebook的安装
- [App] DHCP 服务器搭建
- NSURLSession下的网络请求
- Spring boot启动运行流程
- 留言过滤(简单实现)-过滤字符串