第七章 回溯算法part02
第七章 回溯算法part02
39. 组合总和 40.组合总和II 131.分割回文串
39. 组合总和
题目地址 :
Code ( 用时 仍然 较多 ) :
class Solution {
public:
struct Fuction_unordered_set_Hash_VectorInt
{
size_t operator()(const vector<int> & vec_In) const{
std::size_t seed = 0 ;
std::hash<int> hasher ;
vector<int> vec_Process(vec_In) ;
sort(vec_Process.begin(),vec_Process.end()) ;
for(auto &address_i : vec_Process )
//for(auto &address_i : vec_In )
{
seed ^= hasher(address_i) + 0x9e3779b9 + ( seed << 6 ) + ( seed >> 2 ) ;
}
return seed ;
}
};
// struct Fuction_unordered_set_Equal_VectorInt
// {
// bool operator()(const vector<int> & vec_1_In , const vector<int> & vec_2_In )const{
// for(int i = 0 ; i < vec_1_In.size() ; i++ )
// {
// if(vec_1_In[i] == vec_2_In[i])
// {
// continue ;
// }
// else
// {
// return false ;
// }
// }
// return true ;
// }
// };
struct Fuction_unordered_set_Equal_VectorInt
{
bool operator()(const vector<int> & vec_1_In , const vector<int> & vec_2_In )const{
vector<int> vec_1_Process (vec_1_In);
vector<int> vec_2_Process (vec_2_In);
sort(vec_1_Process.begin() , vec_1_Process.end()) ;
sort(vec_2_Process.begin() , vec_2_Process.end()) ;
for(int i = 0 ; i < vec_1_Process.size() ; i++ )
{
if(vec_1_Process[i]
