http://compprog.wordpress.com/2007/10/17/generating-combinations-1/
#include <iostream>
#include <vector>
using namespace std;
void print(vector<char> chars, char array[], int k){
for(int j=0;j<k;j++) cout<<chars.at(array[j]);
cout<<endl;
}
bool next(char array[], int n, int k){
int i=k-1;
while(i>0){
if(array[i] >= n-k+i) i--;
else break;
}
if(i==0 && array[0]== (n-k)) return false;
array[i]++;
for(int j=(i+1); j<= k-1; j++)
array[j]=array[j-1]+1;
return true;
}
void printAllCombination(std::vector<char> chars, int n, int k){
char *array = new char[n];
for(int i=0;i<k;i++)array[i]=i;
print(chars, array, k);
while(next(array, n, k)){
print(chars, array, k);
}
delete array;
}
int main()
{
int k ;
int n ;
cin>>k;
cin>>n;
std::vector<char> chars;
for(int i=0;i<n;i++)
{
char temp;
cin>>temp;
chars.push_back(temp);
}
printAllCombination(chars, n, k);
return 0;
}
分享到:
相关推荐
// Generate combinations with lowercase letters for (int i = 0; i ; i++) { current[pos] = 'a' + i; generateCombinations(current, pos + 1, n); } } int main() { char buffer[4]; ...
generate_all_codon_combinations() = 该函数接收一个 AA 字符串作为输入,并在有效时间内返回所有可能的密码子组合。 3. get_all_combinations() = 这是一个组合函数,它接收一组选项并返回所有唯一的组合。 使用...
generate ( "abcde" ) ; ##样本输出 ['a', 'b', 'ab', 'c', 'ac', 'bc', 'abc', 'd', 'ad', 'bd', 'abd', ' cd', 'acd', 'bcd', 'abcd', 'e', 'ae', 'be', 'abe', 'ce', 'ace', 'bce', 'abce', 'de' , 'ade', 'bde...
Letter Combinations of a Phone Number"这个项目,它涉及到如何通过JavaScript实现电话号码数字到字母的映射。 首先,让我们理解这个问题的基本概念。电话号码通常使用数字来表示,但为了方便记忆,这些数字往往...
generate ( "abcde" ) ; 样本输出 [ 'a', 'b', 'ab', 'c', 'ac', 'bc', 'abc', 'd', 'ad', 'bd', 'abd', 'cd', ' acd', 'bcd', 'abcd', 'e', 'ae', 'be', 'abe', 'ce', 'ace', 'bce', 'abce', 'de', 'ade' , 'bde',...
237 Generate Parentheses 575 238 Combination Sum 577 239 Combination Sum II 579 240 Combination Sum III 581 241 Combinations 583 242 Letter Combinations of a Phone Number 587 243 Restore IP Addresses ...
All Combinations 所有组合 All Permutations 所有排列 All Subsequences 所有子序列 Coloring着色 Combination Sum组合总和 Crossword Puzzle Solver 填字游戏求解器 Generate Parentheses 生成括号 Hamiltonian ...
17. Letter Combinations of a Phone Number 18. 4Sum 19. Remove Nth Node From End of List 20. Valid Parentheses 21. Merge Two Sorted Lists 22. Generate Parentheses 23. Merge k Sorted Lists 24. Swap ...
2. Letters, numbers, combinations to generate fuzzy domain 3. Support for import the list file of domain names (.txt) 4. Export the list of unregistered or registered domain names 5. Save or Load ...
def generate_pairwise_combinations(self, full_combinations): """ 对生成的所有参数组合进行两两组合处理。 :param full_combinations: 所有参数组合的一维列表。 :return: 每个测试用例的不同两两组合的二...
普通最小二乘(OLS)回归 这是一个简单的项目,展示了OLS回归算法的实现。 在此特定实现中,将发生... combinations of independent variables. 3. The model with the lowest AIC is selected and fit to the entire
leetcode 530 ** LeetCode 题目更新 ** 用来记录业余时间所做的算法题目,保持...Combinations of a Phone Number 018 4Sum 020 Valid Parentheses 022 Generate Parentheses 028 Implement strStr() 031 Next Permutat
- `generate_combinations`函数用于生成所有可能的运算组合。 - `evaluate_expression`函数用于计算给定运算序列的结果,可能需要用到表达式解析库或自定义解析算法。 总的来说,实现C语言的24点游戏源码需要掌握...
017_Letter_Combinations_of_a_Phone_Number 018_4总和 019_Remove_Nth_Node_From_End_of_List 020_Valid_Parentheses 021_Merge_Two_Sorted_Lists 022_Generate_Parentheses 023_Merge_k_Sorted_Lists 024_...
1. `generate_combinations`:生成所有可能的运算组合。可能使用嵌套循环,对于每一对数字进行四种运算,然后递归地对剩下的数字进行相同操作。 2. `can_calculate_to_24`:检查给定的四个数字和一个运算序列能否...
Python的内置模块`itertools`提供了一个名为`combinations`的函数,用于生成一个集合的所有无重复组合。然而,它不生成包含重复元素的子集。如果你需要所有子集(包括重复元素的子集),你需要使用上述递归或位掩码...
在Python中,可以使用`random`库进行随机数操作,`itertools`库中的`permutations`或`combinations`函数可以帮助找到所有可能的数字组合。此外,`numpy`库也可以用来方便地处理二维数组。 以下是可能的代码实现片段...
- **Generating Bit Combinations**: Algorithms for generating all possible combinations of bits. - **Generating Bit Subsets of a Given Word**: Techniques for generating subsets of a given bit pattern...