示例#1
0
文件: utl.cpp 项目: reyoung/QAliOSS
QString Utl::appendParam(const QString &url, const QMap<QString, QString> &params)
{
    QUrl retv(url);
    QMapIterator<QString,QString> it(params);
    bool aclFlag = false;
    while(it.hasNext()){
        it.next();
        QString k = it.key();
        QString v = it.value();
        if(k=="maxkeys"){
            k="max-keys";
        }
        if (!v.isNull()&&!v.isEmpty()){
            retv.addQueryItem(k,v);
        } else if (k=="acl"){
            aclFlag = true;
        }
    }
    QString tmp = QString::fromLocal8Bit(retv.toEncoded());
    if(aclFlag){
        if(retv.queryItems().size()!=0){
            tmp+="&acl";
        } else {
            tmp+="?acl";
        }
    }
    //! @todo, Make Encoding More good.
    tmp.replace("+","%2B");
    return tmp;
//    return aclFlag?retv.toString()+"&acl":retv.toString();
}
示例#2
0
文件: 015_hash.cpp 项目: HoboChen/sc
 vector<vector<int>> threeSum(vector<int>& nums) {
     unordered_multiset<int> m;
     int p = 0;
     for (auto x : nums) m.insert(x);
     set<vector<int> > ret;
     if (nums.size() < 3) {
         vector<vector<int>> tmp;
         return tmp;
         
     }
     for (int i = 0; i < nums.size(); i++) {
         for (int j = 0; j < nums.size(); j++) {
             if (i == j) continue;
             bool ok = 1;
             if (m.count(-nums[i] - nums[j]) == 0) continue;
             if (-nums[i] - nums[j] == nums[i] && m.count(nums[i]) < 2) ok = 0;
             if (-nums[i] - nums[j] == nums[j] && m.count(nums[j]) < 2) ok = 0;
             if (nums[i] == nums[j] && -nums[i] - nums[j] == nums[i] && m.count(nums[i]) < 3) ok = 0;
             if (ok) ret.insert(_3Int2Vector(nums[i], nums[j], -nums[i] - nums[j]));
         }
     }
     vector<vector<int> > retv(ret.begin(), ret.end());
     return retv;
 }
示例#3
0
GameBoard Puzzle::to_game_board() const {
    GameBoard retv(m_impl->m_board, m_impl->m_variant);
    retv.sokoban_plus_set(m_impl->m_boxorder, m_impl->m_goalorder);
    return retv;
}